|
|
|
| Как можно затолкнуть окошко в системный трей, а потом при нажатии на него активизировать? (по аналогии с диспетчером задач в винде например). Буду очень благодарен за пример с пустой формой в данном случае - проще будет понять :)
Да, хочу в СиБулдере все это.... | |
|
|
|
|
|
|
|
для: AiVoT
(02.11.2007 в 04:54)
| | В классе главного окна (*.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);
... |
| |
|
|
|