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

Вниз

Создаю иконку, как обрабатывать например клики по ней   Найти похожие ветки 

 
zioza ©   (2003-11-27 16:10) [0]

Создаю иконку, как обрабатывать например клики по ней


 
DVM ©   (2003-11-27 18:06) [1]

По иконке нельзя кликать мышкой. Это структура в памяти. Кликать можно по окну, на котором иконка нарисована. Сама иконка - не окно.


 
zioza ©   (2003-11-27 19:40) [2]

скажем так, я кликаю по изображению в трее, как мне этот клик обработать


 
DVM ©   (2003-11-27 21:27) [3]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShellApi; //!!

const
WM_NOTIFYTRAYICON = WM_USER + 1;

type
TForm1 = class(TForm)
procedure FormDestroy(Sender: TObject);

procedure FormCreate(Sender: TObject);
private
{ Private declarations }

procedure WMTRAYICONNOTIFY(var Msg: TMessage);
message WM_NOTIFYTRAYICON;

public
{ Public declarations }
end;

var
Form1: TForm1;
tray: TNotifyIconData;
TrayIcon: TIcon;

implementation

{$R *.dfm}

procedure TForm1.WMTRAYICONNOTIFY(var Msg: TMessage);
begin
{обрабатываем события на иконке в трее}
case Msg.LParam of
WM_LBUTTONDOWN: Form1.Visible:=true;
WM_LBUTTONDBLCLK: {ваш код обработки события двойного нажатия на левую кнопку мыши}
WM_LBUTTONUP: {ваш код обработки события отпускания левой кнопки мыши}

WM_RBUTTONDOWN: {ваш код}
WM_RBUTTONDBLCLK: {ваш код}
WM_RBUTTONUP: {ваш код}

WM_MOUSEMOVE: {ваш код}
end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
try
with tray do begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Form1.Handle;
uID := 1;
end;
Shell_NotifyIcon(NIM_DELETE, Addr(tray));
finally
Application.Terminate;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
TrayIcon := Application.Icon;
with tray do begin
cbSize := SizeOf(TNotifyIconData);
Wnd := Form1.Handle;
uID := 1;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallBackMessage := WM_NOTIFYTRAYICON;
hIcon := TrayIcon.Handle;
szTip := ("Это мое приложение в трее");
end;
Shell_NotifyIcon(NIM_ADD, Addr(tray));
end;

procedure TForm1.GoToTrayButtonClick(Sender: TObject);
begin
//сворачиваемся в Трей
Form1.Visible:=false;
end;

end.


 
Diamond Cat ©   (2003-11-27 23:19) [4]

при этом если будет вызван попап то не плохо сначала сделать "задним" окном свое приложение setforegroundwindow, а еще лучше полазить по кладовке и посмотреть там, а не засорять конфу


 
zioza ©   (2003-11-28 08:50) [5]

спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
1-16312
del_programmer
2004-01-25 16:37
2004.02.06
Help


1-16221
Babay
2004-01-26 07:49
2004.02.06
XPmanifest и Dll (большой ворос)


1-16255
lkl
2004-01-24 13:22
2004.02.06
Как отобразить копирование файлв с помошью Animate и ProgresBar


3-16160
webpauk
2004-01-14 16:04
2004.02.06
Метод Post


1-16325
NailMan
2004-01-28 13:11
2004.02.06
Потоки: запутался с обработчиком событий