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

Вниз

Отловить клик мыши   Найти похожие ветки 

 
BUHALOSS ©   (2006-12-16 19:53) [0]

привет народ. Подскажите как отловить клик левой или правой кнопки мышки. Будет замечательно если приведёте пример чтобы я недалёкий разобрался что к чему. Мрей благодарности не будет предела в гранях разумного


 
Орион ©   (2006-12-16 19:56) [1]

> [0] BUHALOSS ©   (16.12.06 19:53)

отловить клик где?
но мой телепатор подсказывает, что в системе, тогда Hook"s в помощь.


 
BUHALOSS ©   (2006-12-16 19:59) [2]

Есть форма. В любой точке надо просто поймать событие что левая ил правая капа нажата. Знаю что через Hook нужен пример чтобы въехать в смысл. буду признателен если поможите


 
MetalFan ©   (2006-12-17 16:33) [3]

[2]
тогда можно обойтись KeyPreview имхо


 
MetalFan ©   (2006-12-17 16:33) [4]

з.ы. и вообще это в "начинающим"


 
ors_archangel ©   (2006-12-18 07:04) [5]

Следующий код ловит нажатия левой кнопки по форме, в том числе, если нажатие происходит по контролам:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 msgbox(int2str(x)+" "+int2str(y)); // выводим коориднаты для проверки
end;
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
var
 pt: TPoint;
begin
 if (msg.hwnd <> Handle) and ((msg.message = WM_LBUTTONUP) or (msg.message = WM_LBUTTONDOWN)) then begin
   pt.x := loword(msg.lParam);
   pt.y := hiword(msg.lParam);
   MapWindowPoints(msg.hwnd,handle, pt, 1);
   msg.hwnd := handle;
   msg.lParam := MakeLParam(pt.x,pt.y);
 end;
end;

Нажатие регистрируется в OnMouseUp/Down, причём координаты специально переводятся в координаты клиентской области формы (MapWindowPoints), если клик был сделан на контроле.


 
ors_archangel ©   (2006-12-18 07:07) [6]

Правильно работать будет только если у тебя одна форма, лень писать дальше



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
2-1166598801
vitv
2006-12-20 10:13
2007.01.07
Запрос


3-1161460608
Nik76
2006-10-21 23:56
2007.01.07
Как предотвратить автоматическое обновление поля?


2-1166194334
DelphiLexx
2006-12-15 17:52
2007.01.07
Как в DBGridEh e запретить рисовать разделит. линии


2-1166178990
Bullfrog
2006-12-15 13:36
2007.01.07
проблема с кодом программы


2-1166208980
=[)eSTr0YYeR=
2006-12-15 21:56
2007.01.07
Как получить список файлов в каталоге?