![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
определить координаты мыши относительно Image
jonson35 © (2006-12-15 22:15:00)Здравствуйте, подскажите как определить координаты курсора мыши относительно компонента Image
так определется относительно области 'экрана, а надо за координату 0,0 взять координату не экрана а координату Image
procedure TForm1.Image1Click(Sender: TObject);
var
foo: TPoint;
begin
GetCursorPos(foo);
Form1.Caption:= IntToStr(foo.X) + ' ,' + IntToStr( foo.Y );
end;
RASkov (2006-12-15 23:50:00) [1]> [5] Джо © (15.12.06 23:39)
> сплагиаченный в [3] :D
Прошу прощения:) в [3] я его (из [1]) просто подставил на всякий случай в код автора и усе :)
Джо (2006-12-15 23:39:00) [2]> [4] RASkov (15.12.06 23:38)
> Кстати вариант предложенный в [1] - OnMouseDown, OnMouseUp
> может быть полезнее так как там еще учитываются такие параметры
> как
> Button: TMouseButton; Shift: TShiftState;
В [1], кроме одного варианта есть и еще один, а именно с ScreenToClient, сплагиаченный в [3] :D
RASkov (2006-12-15 23:38:00) [3]Кстати вариант предложенный в [1] - OnMouseDown, OnMouseUp может быть полезнее так как там еще учитываются такие параметры как
Button: TMouseButton; Shift: TShiftState;
RASkov (2006-12-15 23:35:00) [4]
procedure TForm1.Image1Click(Sender: TObject);
var
foo: TPoint;
begin
GetCursorPos(foo);
foo:=Image1.ScreenToClient(foo);
Form1.Caption:= IntToStr(foo.X) + ' ,' + IntToStr( foo.Y );
end;
Джо (2006-12-15 22:20:00) [5]Самое простое, использовать событие OnImageMouseDown. В параметры передаются клиентские X,Y.
Но можно и перевести. Для это есть метод ScreenToClient.
Джо (2006-12-15 22:20:00) [6]> OnImageMouseDown
OnMouseDown.