Автор: cheops (02.11.2007 в 05:48)
В классе главного окна (*.h) необходимо перегрузить карту событий
// Обрабатываем событие иконки в треере
...
public: // User declarations
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(MyTrayIcon,TMessage,MTIcon);
END_MESSAGE_MAP(TComponent);
}
|
Далее необходимо объявить структуру TNotifyIconData (глобально в *.cpp)
...
// Иконка в треере
TNotifyIconData NID; |
В конструкторе формы вывести икнонку в трей
// Создаём иконку в треере
AnsiString trey = "Текст при наведении на иконку";
NID.cbSize = sizeof(TNotifyIconData);
NID.hWnd = Handle;
NID.uID = 1;
NID.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
NID.uCallbackMessage = MyTrayIcon;
// Берётся иконка приложения, но можно выбрать другую
NID.hIcon = Application->Icon->Handle;
strcpy(NID.szTip,trey.c_str());
Shell_NotifyIcon(NIM_ADD, &NID);
... |
При закрытии приложения - иконку из трея необходимо удалить
...
// Удаляем значёк из трея
Shell_NotifyIcon(NIM_DELETE, &NID);
... |