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]