Идёт загрузка страницы...

htp://aptem.net.ru





Shell_NotifyIcon

У меня есть несколько вопросов по функции Shell_NotifyIcon:
  • Как добавить иконку в системную область панели задач?
  • Как изменить иконку?
  • Как удалить иконку?
  • И я не могу получать сообщения от иконки!!

Чтобы получать сообщения, вы должны добавить флаг NIF_MESSAGE в вашу notify-структуру и записать то сообщение, которое вы хотите послать. Вот код, который я использую:


    procedure TMainForm.UpdateTaskBar;            // обновление области системных иконок win95 var
NotifyData: TNotifyIconData;

begin
With NotifyData do                                          // устанавливаем структуру данных
begin
cbSize           := SizeOf(TNotifyIconData);
Wnd              := MyForm.Handle;
uID              := 0;
uFlags           := NIF_ICON or NIF_MESSAGE or NIF_TIP;   // ... установки, которые необходимо изменить ...
uCallbackMessage := WM_MY_MESSAGE;                        // ... возвращаемое нам сообщение ...
hIcon            := hMyIcon;
szTip            := 'Текст всплывающей подсказки';        // ... и соответствующий текст
end;
Shell_NotifyIcon(dwMessage, @NotifyData);                   // теперь производим обновление
end;

WM_MYMESSAGE - определенное пользователем сообщение. Обычно определяется как:


    const
WM_MYMESSAGE = WM_USER + <какой-то номер, может быть нулем>;

[000273]