Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Трей   Найти похожие ветки 

 
LEXX_55   (2005-03-14 08:13) [0]

Доброго времени суток, господа!
Гдето на сайте, не могу найти, было описание, как работать с треем. Пожалуйста помогите. Надо спрятать софтину в трей. Может кто-то сам сможет подсказать.


 
LEXX_55   (2005-03-14 08:37) [1]

Мастера, отзовитесь!!!


 
SergP ©   (2005-03-14 09:14) [2]

С помощью API  Shell_NotifyIcon можно запуздырить иконку в трей, а также выпуздырить....

Вот кусок статьи с delphiword.narod.ru
Как добавить иконку на Tray?

Для работы с SystemTray существует всего одна функция. Вот ее Си-прототип:

WINSHELLAPI BOOL WINAPI Shell_NotifyIcon(
 DWORD dwMessage, // message identifier
 PNOTIFYICONDATA pnid // pointer to structure
);



Эта функция описана в заголовочном файле Win32-SDK "shellapi.h", включаемом в программу при включении "windows.h". Параметр dwMessage может принимать одно из трех значений: NIM_ADD, NIM_DELETE, NIM_MODIFY. Для добавления иконки он должен быть установлен в NIM_ADD. Параметр pnid имеет тип PNOTIFYDATA, который описан как:

typedef struct _NOTIFYICONDATA { // nid
 DWORD cbSize;
 HWND hWnd;
 UINT uID;
 UINT uFlags;
 UINT uCallbackMessage;
 HICON hIcon;
 char szTip[64];
} NOTIFYICONDATA, *PNOTIFYICONDATA;



Поля структуры NOTIFYICONDATA имеют следующий смысл:

cbSize
размер структуры, должен быть sizeof(NOTIFYICONDATA).
hWnd
дескриптор окна, которое будет получать события мыши над иконкой.
uID
уникальный идентификатор иконки. Идентификатор должен быть уникален в пределах окна - обработчика, передаваемого в hWnd.
uFlags
битовое поле, определяющее какое из следующих полей несет действительную информацию. Может быть одним из следующих значений: NIF_ICON, NIF_MESSAGE, NIF_TIP или их OR-комбинацией.
uCallbackMessage
сообщение, передаваемое окну - обработчику при событиях мыши. Желательно получать номер сообщения вызовом RegisterWindowMessage(), но допускаются и значения WM_USER+N, где N > 0.
hIcon
дескриптор иконки, помещаемой на Tray.
szTip
текст для ToolTip"а, если szTip[0] = 0x00, то ToolTip"а не будет.
Таким образом, для добавления иконки на Tray необходимо заполнить экземпляр структуры NOTIFYICONDATA и вызвать функцию Shell_NotifyIcon() с параметром NIM_ADD и указателем на заполненный экземпляр структуры.

При добавлении иконки необходимо заполнить поля cbSize, hWnd, uID, uFlags, uCallbackMessage, hIcon. Поле szTip можно оставить пустым, если вам не нужен ToolTip. Поле uFlags должно содержать как минимум NIF_MESSAGE | NIF_ICON.


А вообще если не хочешь париться со всем этим, то поищи лучше компонент CoolTrayIcon, поставь, и будет тебе счастье.


 
Defunct ©   (2005-03-14 09:16) [3]

Shell_NotifyIcon


 
LEXX_55   (2005-03-14 09:18) [4]

СПАСИБО!!!!


 
Eraser ©   (2005-03-14 09:49) [5]

Не морочь себе  голову! Установи, например http://koroan.by.ru/delphi/components/COOLTRAY.ZIP или аналог из JEDI VCL.

А то я предвижу следующий твой вопрос, типа как отобразить балон хинт или анимацию....


 
LEXX_55   (2005-03-14 09:53) [6]

хотся разобраться


 
Eraser ©   (2005-03-14 09:55) [7]

Ну это тоже правильно, может напишешь компонент получше.


 
panov ©   (2005-03-14 10:07) [8]

Поле "Тема вопроса" не оформлено.

Вопрос не соответствует теме конференции.



Страницы: 1 вся ветка

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
9-1104704810
Trip
2005-01-03 01:26
2005.03.27
Потестируйте мой скринсэйвер на GLScene ?


4-1108543060
Шурик Ш
2005-02-16 11:37
2005.03.27
Переменная среды TEMP


14-1110281799
SergP
2005-03-08 14:36
2005.03.27
Ошибки при работе с сокетами. У кого Д5, напишите.


14-1110001215
begin...end
2005-03-05 08:40
2005.03.27
С Днём рождения! 5 марта


1-1110386776
Александер
2005-03-09 19:46
2005.03.27
Как нарисовать?