Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.041 c
3-1109488218
Dyusha
2005-02-27 10:10
2005.03.27
Экспорт StringGrid в ADOQuery


3-1109592041
ANB
2005-02-28 15:00
2005.03.27
Проверка запроса SQL


1-1110976205
Sanich
2005-03-16 15:30
2005.03.27
Как экспортировать отчет из QuickReport.


14-1109952872
старый маразматикЪ
2005-03-04 19:14
2005.03.27
30 ответов модератора на вопрос "почему удалили моё сообщение?"


1-1110666494
Knight
2005-03-13 01:28
2005.03.27
Помогите с TEmbeddedWB...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский