Форум: "Начинающим";
Текущий архив: 2007.01.07;
Скачать: [xml.tar.bz2];
ВнизОтловить клик мыши Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c