Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Колесико над иконкой в трее [D7, WinXP]


Turbid ©   (2006-03-17 11:32:00) 

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
   procedure WM_ICON(var Msg: TMessage); message WM_USER + 1;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
 IconData: TNotifyIconData;
begin
 with IconData do
 begin
   cbSize := SizeOf(IconData);
   Wnd := Form1.Handle;
   uID := 1;
   uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
   hIcon := Application.Icon.Handle;
   uCallbackMessage := WM_USER + 1;
   szTip := 'TrayIcon';
 end;
 Shell_NotifyIcon(Nim_Add, @IconData);
end;

procedure TForm1.WM_ICON(var Msg: TMessage);
begin
 case msg.LParam of
   WM_LBUTTONDOWN: ShowMessage('LMouse!');
   WM_RBUTTONDOWN: ShowMessage('RMouse!');
   WM_MBUTTONDOWN: ShowMessage('MMouse!');
   WM_MOUSEWHEEL: ShowMessage('Wheel!!!'); // ???!!!
 end;
end;

end.

Вопрос такой, почему последнее сообщение не отлавливается и как вообще узнать о кручении колесиком мыши над иконкой в трее. Заранее благодарен.


Turbid   (2006-03-17 16:41:00) [1]

Это ограничение шелла? Если можно, то чуть поподробней про хук.


rem2   (2006-03-17 14:22:00) [2]

Ставь хук мыш и когда она находится над иконкой в трее отлавливай сообщение


Fay   (2006-03-17 12:31:00) [3]

Так и не должно. Только

MK_CONTROL The CTRL key is down.
MK_LBUTTON The left mouse button is down.
MK_MBUTTON The middle mouse button is down.
MK_RBUTTON The right mouse button is down.
MK_SHIFT The SHIFT key is down.
MK_XBUTTON1 Windows 2000/XP: The first X button is down.
MK_XBUTTON2 Windows 2000/XP: The second X button is down.


Наверх

Титульная страница Поиск, карта сайта Написать письмо