Советы по Delphi

         

Shell_NotifyIcon


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

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

procedure TMainForm.UpdateTaskBar; // обновление области системных иконок win95var
NotifyData: TNotifyIconData;
begin
With
NotifyData do // устанавливаем структуру данныхbegincbSize := 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]



Содержание раздела