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

Вниз

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

 
Anar   (2002-04-22 10:03) [0]

Где достать документацию, как работать с этим объектом.
Желательно с примерами.


 
Song   (2002-04-22 10:23) [1]

Поищите по TShellNotifyIcon


 
ruslan_as   (2002-04-22 10:34) [2]

Задай на http://www.yandex.ru "(Помещаем иконку в system tray)" и там будет много полезных ссылок. Вот выдержка из статьи (адреса не нашел):

Очень часто при написании той или иной программы, мы сталкиваемся с задачей размещения приложения в System Tray. В этой статье я хотел бы показать основы этого процесса.

Те картинки которые находятся в System Tray- это действительно картинки(а не свернутые приложения!).

эти картинки управляются самим System Tray, также она берет насебя еще функции по показу подсказок и слежению по перемещению указателя(мыши) над картинкой.


API System Tray


Function shell_NotifyIcon(dwMessage:DWord; lpData:PNotifyIconData):Bool;

//параметр dwMessage определяет одну из операций:

//NIM_ADD-добавление значка

//NIM_DELETE-удаление значка

//NIM_MODIFY-изменение значка

PNotifyIconData=TNotifyIconData;

TNotifyIconData=record;

cbSize:Dword; //размер структуры

Wnd:HWND; //содержит дескриптор окна которое будет оповещаться

//о событиях связанных со значком

uID:UINT; // номер значка (вы можете поместить сколько хотите значков)

uFlags:UINT; //тут вы дожны указать какие именно поля вы заполнили

//(NIF_ICON,NIF_MESSAGE,NIF_TIP);

uCallBackMessage:UINT; // Идентификатор сообщений которые вы хотите

//получать от системы

hIcon:Hicon; //дескриптор помещаемого в System Tray значка

szTip: array[0...63] of AnsiChar; //текст подсказки

end;


Внимание!!! Есливы заполнили поле szTip, но не передали флаг NIF_TIP, то созданый вами значок не бедет иметь подсказки.


Также не забывайте удалять созданные вами значки, т.к. это не делается автоматически, даже при закрытие приложения.


Сообщения передаваемые полем uCallBackMessage это единственное что связывает значок с приложением.

Оно имеет несколько сообщений.Они распределены в Tmessage так:

wParam номер значка

lParam идентификатор сообщения от мыши.


Что бы показать всплывающее меню надо вынести главную форму приложения на передний план. Так как в противном случае она не получит сообщений от меню. Сделать это можно так:


procedureTForm1.WMICON(var messsage: Tmessage);

var point:Tpoint;

begin

case message.lparam of

WM_RBUTTON:

begin

GetCursorPos(point);

SetForegroundWindow(Application.MainForm.Handle);

PopupMenu1.Popup(P.X,P.Y);

end;

WM_RBUTTON:

end;


Что бы приложение минимизировалось не на Task Bar, а сразу в System Tray, надо минимизировать

не только главное окно формы приложения, но и окно приложения. То есть:


...

ShowWindow(Application.handle,SW_HIDE);

ShowWindow(ApplicationMainForm.handle, SW_HIDE);

...


При этом надо сразу же создать значок в System Tray.




 
Сатир   (2002-04-22 11:03) [3]

Попробуй на http://www.sources.ru/delphi_src1.shtml



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

Форум: "Основная";
Текущий архив: 2002.05.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
1-17629
Ptushenko Denis
2002-04-23 07:54
2002.05.06
Где можно взять компанент DirectX для Delphi6 ?


4-17736
Ivan N.Voronov
2002-03-01 20:05
2002.05.06
получить выделенный курсором текст из окна другого приложения


4-17759
Frogkiller
2002-02-28 23:00
2002.05.06
Как узнать, используется ли файл другим потоком?


1-17537
Miwa
2002-04-19 11:01
2002.05.06
Степень в Паскале.


14-17691
herosofnn
2002-03-16 10:33
2002.05.06
Microsoft exchange





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский