Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизWM_LBUTTONDOWN Найти похожие ветки
← →
iBitmap © (2004-08-21 23:54) [0]Доброе время суток.
Я написал следующий код:
...
procedure WMLDown(var MSG: TMessage); Message WM_LBUTTONDOWN;
...
procedure TForm1.WMLDown(var Msg: TMessage);
begin
ShowMessage("COOL");
end;
...
Но эта процедура выполняется, только когда я нажимаю на форму, а как выполнить эту процедуру, даже если я кликнул мышью за пределами формы?
← →
wicked © (2004-08-22 00:06) [1]
> а как выполнить эту процедуру, даже если я кликнул мышью
> за пределами формы?
нормальными средствами - никак...
ставить хуки или периодически проверять состояние кнопок мыши...
← →
iBitmap © (2004-08-22 00:49) [2]А как поставить хук на мышку, дело в том, что я ни разу не ставил хуки. Ты не мог бы написать здесь исходник, для хука мыши?
← →
iBitmap © (2004-08-22 03:48) [3]А все. Спасибо. нашел я то, что мне нужно:
unit Unit1;
interface
uses
Windows, Messages, Classes, Forms, StdCtrls, Controls;
type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Hook: hHook;
implementation
{$R *.dfm}
function Hooker(Code: Integer; WParam: Word; LParam: LongInt): LongInt; stdcall;
var
Msg: PEventMsg;
begin
Msg := Pointer(LParam);
if Msg.Message = WM_LBUTTONDOWN then Form1.ListBox1.Items.Add("Click");
Result := CallNextHookEx(Hook, Code, WParam, LParam);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Hook := SetWindowsHookEx(WH_JOURNALRECORD, @Hooker, hInstance, 0);
end;
end.
← →
TUser © (2004-08-22 11:42) [4]А зачем все массаги просматривать? Есть специальные мышиные хуки (WM_MOUSE)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.683 c