|
#1
|
||||
|
||||
Ролик в трее
Доброго времени суток товарищи программисты. Возникла такая задача чтобы при вращении ролика на иконке в трее происходило какое нибудь действие. Есть такой код
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,shellapi, Menus, ExtCtrls; const WM_ICONTRAY = WM_USER + 1; type TForm1 = class(TForm) PopupMenu1: TPopupMenu; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private TrayIconData: TNotifyIconData; { Private declarations } public procedure Traywheel(var Msg: TWMMouseWheel); message wm_icontray; { Public declarations } //ели поставить wm_mousewheel то будет обрабатывать только до тех пор пока //окно в фокусе а через wm_icontray не работает end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin with TrayIconData do begin cbSize:= SizeOf(TrayIconData); Wnd:= Handle; uID:= 0; uFlags:= NIF_MESSAGE + NIF_ICON + NIF_TIP; uCallbackMessage:= WM_ICONTRAY; hIcon:= Application.Icon.Handle; szTip:= 'Допустим, название Вашего приложения'; end; Shell_NotifyIcon(NIM_ADD, @TrayIconData); end; procedure TForm1.FormDestroy(Sender: TObject); begin Shell_NotifyIcon(NIM_DELETE, @TrayIconData); end; procedure tform1.Traywheel(var Msg: TWMMouseWheel); begin caption:=inttostr(msg.WheelDelta); end; end. |
#2
|
||||
|
||||
Цитата:
Код:
procedure Traywheel(var Msg: TWMMouseWheel); message wm_icontray; Цитата:
Понять, что хочет заказчик - бесценно, ведь он платит MasterCard |