Главная страница
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.09 c
1-1117281103
dmitry_t
2005-05-28 15:51
2005.06.14
RxLib и анимированный gif


11-1098792092
Loader
2004-10-26 16:01
2005.06.14
Обработка сообщений в сетевом приложении на KOL


1-1117051608
SergP
2005-05-26 00:06
2005.06.14
Как узнать положение компонента относительно десктопа


6-1111871698
Raider
2005-03-27 00:14
2005.06.14
Описание ошибок TClientSocket&TServerSocket (ErrorCode)


14-1116833363
Иксик
2005-05-23 11:29
2005.06.14
Коллега прислал