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

Вниз

Функции WinAPI для трей меню !?   Найти похожие ветки 

 
Кайфолом   (2005-04-21 04:38) [0]

Здравствуйте увадаемые !
Исходный код взят у вас на сайте !
Немогу понять почему он неработает !
И подскажите где мона взять инфу о ВинАПИ связаную с Треем !?

В Uses добавляю модуль ShellAPI. В разделе public формы укажите побликую типы:
TrayIcon : TIcon;
TrayNotify: TNotifyIconData;
      procedure OnMessage(var Msg: TMessage); virtual;
Использую ImageList в качестве контейнера для иконок.

Создаю Popup меню для команд доступных из трея.

В FormCreate выполняю:

FillChar(TrayNotify, SizeOf(TrayNotify), 0);
TrayIcon := TIcon.Create;
ImageList1.GetIcon(0, TrayIcon);
TrayNotify.cbSize:=SizeOf(TrayNotify);
TrayNotify.Wnd:=AllocateHwnd(OnMessage);
TrayNotify.HIcon:=TrayIcon.Handle;
StrPLCopy(TrayNotify.szTip, Application.Title, SizeOf(TrayNotify.szTip)-1);
TrayNotify.uFlags:=NIF_MESSAGE or NIF_ICON or NIF_TIP;
TrayNotify.uCallbackMessage:=Wm_Callback_Msg;
Shell_NotifyIcon(NIM_ADD, @TrayIcon);

В FormDestroy выполняю:
Shell_NotifyIcon(NIM_DELETE, @TrayNotify);

Описываю процедуру OnMessage:

procedure TForm1.OnMessage(var Msg: TMessage);
procedure ShowPopup;
var
x, y : integer;
begin
x := GetSystemMetrics(SM_CXFULLSCREEN);
y := GetSystemMetrics(SM_CYFULLSCREEN) + GetSystemMetrics(SM_CYCAPTION);
PopupMenu1.Popup(x, y)
end;
begin
case Msg.Msg of
procedure TGepardManagerForm.OnMessage(var Msg: TMessage);
begin
case Msg.Msg of
Wm_Callback_Msg: case Msg.lParam of
Wm_LButtonDblClk : Show;
Wm_RButtonDown : ShowPopup;
end;
Wm_EndSession: Shell_NotifyIcon(NIM_DELETE, @TrayIcon);
Wm_QueryEndSession: ;
Wm_Size : ;
Wm_ActivateAPP : ;
end;
end;


 
Юрий Зотов ©   (2005-04-21 12:31) [1]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=903



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

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

Наверх




Память: 0.47 MB
Время: 0.046 c
1-1117112244
MakedoneZ
2005-05-26 16:57
2005.06.14
Pointer,узнать номер ячейки памяти


4-1114413798
tradakad
2005-04-25 11:23
2005.06.14
какой лучше ипользовать метод вызова dll?


1-1116977878
Strech
2005-05-25 03:37
2005.06.14
Шифрование функций


14-1116877897
Yegorchic
2005-05-23 23:51
2005.06.14
Описание программных средств, для написания сайтов


1-1117468406
PIF
2005-05-30 19:53
2005.06.14
Компиляция res файла