![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Колесико над иконкой в трее [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.