powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Набор "одинаковых" форм.
2 сообщений из 2, страница 1 из 1
Набор "одинаковых" форм.
    #38298813
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу понять логику "уведомлений в трей".
Дмитрий77Вопрос #3:
Сообщение в трей типа.
Вам звонит абонент такой-то.
Простой вариант: "Щелкните по Notification чтобы ответить на вызов".
А как сделать вожможность выбора
2 варианта : ответить/сбросить вызов
От Ballon Notification я здесь отказался по следующим причинам:
1) щелчком могу реализовать только "ответить на вызов", 2 других логичных варианта не реализуемы
2) Задница с таймаутом (особенно на вистообразных) - дефолтные 9 секунд явно не катит
3) Такое сообщение надо "вклинивать" в очередь, т.к. приоритет выше, естественно надо усложнять алгоритм и тд

Придумал использовать формы в духе Notification area flyouts
с некоторой отсебятиной, т.е. без WM_POPUP -непотопляемое с фиксированными размерами и положением окно сделанное из обычной VB6 Form1, кот. закрывается либо командой приложения, либо при нажатии одного из 3-х вариантов в окне (кнопка + 2 syslink).

С самой формой в целом справился.

Вопрос.
Форм этих может быть несколько - несколько одновременных входящих вызовов (по текущей логике приложения не более 3-х). Каждая форма "привязана" к "линии".

Позиционировать предполагаю я их над треем если несколько то одна над другой (при нижней панели задач).

Я вот думаю: добавить в проект три одинаковых или выдумывать динамические коллекции, массивы из форм и прочую ересь.

С одной стороны лепить 3 одинаковых (а м.б. их потом больше будет) как то неохота.
Не то чтоб там очень сложно, но стилизация под Aero Style Classes, Parts, and States - FLYOUT_LINKAREA, FLYOUT_WINDOW , потом сабклассинги на предмет Syslink и WINDOWPOS -т.е. код есть.

С другой стороны попытка начать мыслить в духе:
Код: vbnet
1.
2.
3.
4.
Private Sub Command1_Click()
  Set frm1 = New Form1
  frm1.Show , FormMain
End Sub


сразу тупо привела к отказу сабклассинга (естественно, модуль и ф-ции WinProc то общие для всех "экземпляров").

Вот я и думаю
1) Заморачиваться с массовостью
или
2) Ну его, нарисуем 3 одинаковых со своими одинаковыми сабклассингами, логически привязанных к "своей линии". Ну где позиционировать очередную форму в завис. от того что уже показывается на экране, думаю в этом случае разберусь.
...
Рейтинг: 0 / 0
Набор "одинаковых" форм.
    #38299274
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Остановился на варианте:
Дмитрий772) Ну его, нарисуем 3 одинаковых со своими одинаковыми сабклассингами, логически привязанных к "своей линии". Ну где позиционировать очередную форму в завис. от того что уже показывается на экране, думаю в этом случае разберусь.
Думаю проще сделать три копии рабочего логически понятного кода,
чем потом разбираться с одним глючным.

Для позиционирования придумал массив (0 to 2) as Boolean
При Load форма вычисляет первый false и метит его как true, при этом делается сдвиг на величину
Form.Height * Index массива
При Unload форма ставит false вместо true для своего текущего Index
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Набор "одинаковых" форм.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]