Главная страница
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.042 c
1-1163594456
jetbird
2006-11-15 15:40
2007.01.07
блокирование событий в форме


8-1148053809
Scordion
2006-05-19 19:50
2007.01.07
Обрезать JPEG


2-1165418062
crasher
2006-12-06 18:14
2007.01.07
панель задач своими руками


15-1166080755
vidiv
2006-12-14 10:19
2007.01.07
Помогите решить задачу по страхованию...


2-1166436237
cvg
2006-12-18 13:03
2007.01.07
Есть ли в Delphi что-то типа is_number?