![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Клик в опред. месте на форме. [D7, XP]
Quazevr © (2007-05-01 01:10:00)Здравствуйте!
Подскажите, каким образом, возможно, произвести клик по форме программы, по специально заданным координатам. Желательно, что бы при этом не участвовал курсор.
т.е. мне нужно, что бы на TForm, был... с эмулирован клик, по координатам X,Y.
Спасибо.
Сразу извиняюсь за глупый(но крайне важный для меня) вопрос ;)
turbouser (2007-05-01 03:40:00) [1]Хотя, в принципе, можно вот так:
var Xx, Yy: word;
rocedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(Handle, WM_LBUTTONDOWN, MK_LBUTTON, MakeLParam(Xx, Yy));
SendMessage(Handle, WM_LBUTTONUP, MK_LBUTTON, MakeLParam(Xx, Yy));
end;
procedure TForm1.FormClick(Sender: TObject);
begin
Caption:=Caption+' Clicked.';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Xx := ClientToScreen(ClientRect.TopLeft).X + 10;
Yy := ClientToScreen(ClientRect.TopLeft).Y + 2;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: integer);
var
P: TPoint;
begin
P := ScreenToClient(Point(X, Y));
Caption := Format('X=%d Y=%d', [P.X, P.Y]);
end;
turbouser (2007-05-01 03:00:00) [2]
> Германн © (01.05.07 02:28) [3]
>
mouse_event(MOUSEEVENTF_LEFTDOWN
mouse_event(MOUSEEVENTF_LEFTUP
-и будет "клик". И никаких Caret/Cursor.
Германн (2007-05-01 02:42:00) [3]
> Клик в опред. месте на форме. [D7, XP]
>
> Quazevr (01.05.07 01:10)
>
>
Чего-то я уже и не верю, что сей вопрос для тебя "крайне важен"!
Германн (2007-05-01 02:28:00) [4]
> turbouser © (01.05.07 02:04) [2]
>
> Смотри в сторону mouse_event
>
Т.е. для тебя однозначноясно, что автор понимает под "Желательно, что бы при этом не участвовал курсор.". Ну-ну.
turbouser (2007-05-01 02:04:00) [5]Смотри в сторону mouse_event
Германн (2007-05-01 01:22:00) [6]
> Желательно, что бы при этом не участвовал курсор
Cursor or Caret?