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

Вниз

определить координаты мыши относительно Image   Найти похожие ветки 

 
jonson35   (2006-12-15 22:15) [0]

Здравствуйте, подскажите как определить координаты курсора мыши относительно компонента Image
так определется относительно области "экрана, а надо за координату 0,0 взять координату не экрана а координату Image

procedure TForm1.Image1Click(Sender: TObject);
var
 foo: TPoint;
begin
 GetCursorPos(foo);
 Form1.Caption:= IntToStr(foo.X) + " ," + IntToStr( foo.Y );
end;


 
Джо ©   (2006-12-15 22:20) [1]

Самое простое, использовать событие OnImageMouseDown. В параметры передаются клиентские X,Y.
Но можно и перевести. Для это есть метод ScreenToClient.


 
Джо ©   (2006-12-15 22:20) [2]

> OnImageMouseDown

OnMouseDown.


 
RASkov   (2006-12-15 23:35) [3]

procedure TForm1.Image1Click(Sender: TObject);
var
foo: TPoint;
begin
 GetCursorPos(foo);
 foo:=Image1.ScreenToClient(foo);
 Form1.Caption:= IntToStr(foo.X) + " ," + IntToStr( foo.Y );
end;


 
RASkov   (2006-12-15 23:38) [4]

Кстати вариант предложенный в [1] - OnMouseDown, OnMouseUp может быть полезнее так как там еще учитываются такие параметры как
Button: TMouseButton; Shift: TShiftState;


 
Джо ©   (2006-12-15 23:39) [5]

> [4] RASkov   (15.12.06 23:38)
> Кстати вариант предложенный в [1] - OnMouseDown, OnMouseUp
> может быть полезнее так как там еще учитываются такие параметры
> как
> Button: TMouseButton; Shift: TShiftState;

В [1], кроме одного варианта есть и еще один, а именно с ScreenToClient, сплагиаченный в [3] :D


 
RASkov   (2006-12-15 23:50) [6]

> [5] Джо ©   (15.12.06 23:39)

> сплагиаченный в [3] :D

Прошу прощения:) в [3] я его (из [1]) просто подставил на всякий случай в код автора и усе :)



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

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

Наверх




Память: 0.48 MB
Время: 0.037 c
2-1166472073
allrussia
2006-12-18 23:01
2007.01.07
Приложение очень долго закрывается


2-1166196967
DmitrichJ
2006-12-15 18:36
2007.01.07
Как измерить время выполнения операторов.


15-1166453613
Cyrax
2006-12-18 17:53
2007.01.07
С каких слов начинается текст справки...


2-1166421292
Chelovek
2006-12-18 08:54
2007.01.07
Окна MDI.


6-1154810901
TGX
2006-08-06 00:48
2007.01.07
Поиск компьютеров в локальной сети