|
|
|||
|
wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 36Вопрос и Ответ 36
Вопросы и Ответы 36. Каким образом работать с иконками расположенными в панели задач Win'95? Функция работы с, так называемыми, нотификационными иконками, которые находятся в правой части панели задач Windows'95, определена в модуле ShellAPI: function Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconData): BOOL; В зависимости от переданного сообщения в параметре dwMessage, эта функция может добавлять, модифицировать или удалять иконки, данные о которых передаются в параметре lpData. Поддерживаются три сообщения:
Для работы с нотификационными иконками необходимо правильно заполнить поля данных, которые содержатся в структуре TNotifyIconData:
Пример: ............ uses ShellAPI; var NID :TNotifyIconData; ............ {Добавление} {Установка
необходимых значений в поля структуры TNotifyIconData} uFlags
:= NIF_ICON OR NIF_TIP OR NIF_MESSAGE; END; end; ............ {Изменение} {Установка
новых значений в поля структуры TNotifyIconData} szTip
:= 'Пример подсказки 1'+#0; END; end; ............ {Удаление
иконки из панели задач} IF
Shell_NotifyIcon(NIM_DELETE,@NID) THEN MessageBeep(0); end; ............ {Процедура
реакции на события передаваемые иконкой} {Проверка
на принадлежность сообщения иконке} WM_RBUTTONUP
: BEGIN GetCursorPos(CursorPos); END; WM_LBUTTONDBLCLK
: ShowMessage('Двойной
щелчок мыши!'); END; end; ............ P.S. Использование
нотификационных иконок в Delphi вызывает некоторые
сложности, так как, необходимо прятать окно и
оставлять на экране только иконку, а простое
использование свойства Visible не дает необходимого
результата. Выход из этого положения видится,
только, в отказе от использования объекта TApplication
и работе с функциями API напрямую. Данный подход
хорош еще и тем, что эти программы постоянно
находятся в памяти, а использование в них
объектно-ориентированной библиотеки Delphi будет
отнимать слишком много ресурсов. ...предыдущая страница следующая... |
|
| бодибилдинг | Строим Домик | RU-домены за 170 рублей | Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008. При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны! Время генерации страницы: 0.045 |