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

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.027 c
6-16542
Makhanev A.S.
2003-12-05 01:18
2004.02.06
Поиск ServerSocket а...


1-16274
DimonNew
2004-01-26 10:48
2004.02.06
Word и таблица


1-16511
Builder
2004-01-27 10:41
2004.02.06
StringGrid


14-16720
Kerk
2004-01-15 16:30
2004.02.06
Расширение .sit


14-16609
Nick-From
2004-01-17 22:02
2004.02.06
Windows 2003 server





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