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

Вниз

Координаты на рабочем столе.   Найти похожие ветки 

 
qwerty2k3   (2005-10-22 21:17) [0]

На форме лежит Image. Как узнать координаты левого-верхнего угла этой имаги относительно рабочего стола? Рабочего стола без  TaskBar. Я бы привел свой код, если бы он у меня был, но я не знаю с чего начать. Помогите.


 
Джо ©   (2005-10-22 21:18) [1]

Начать с ClientToScreen


 
qwerty2k3   (2005-10-22 22:41) [2]

Делаю так:

var P : TPoint;

Image1.ClientToScreen(P);
Form1.Caption := "koord: "+inttostr(P.x)+" "+inttostr(P.y);


И на заголовке получаю: koord: 4235257 99111628
Это что такое? Это же не координаты? Как сделать правильно?


 
Джо ©   (2005-10-22 22:55) [3]


> Как сделать правильно?

Очевидно, сначала прочитать справку по этому методу, который является функцией.
Показать готовый пример или не лишать тебя удовольствия сделать этого самому? ;)


 
Гарри Поттер ©   (2005-10-22 22:59) [4]

Джо ©   (22.10.05 22:55) [3]

Покажи, а тоя всю ночь провожусь. Не могу понять как это должно быть.


 
Джо ©   (2005-10-22 23:09) [5]


procedure TForm1.Button1Click(Sender: TObject);
var
 Pt: TPoint;
begin
 // получаем координаты верхнего левого угла
 // относительно родительского окна
 Pt := Image1.BoundsRect.TopLeft;

 // переводим точку в экранные координаты
 Pt := Image1.ClientToScreen(Pt);

 Caption := Format ("x=%d, y=%d",[Pt.x,Pt.y]);
end;

А вообще, в данном случае, можно обойтись и без перевода. Поскольку у контролла уже есть свойство, возвращающее его верхний левый угол сразу в экранных координатах. Называется .ClientOrigin


 
qwerty2k3   (2005-10-22 23:10) [6]


> Очевидно, сначала прочитать справку по этому методу, который
> является функцией.


В справке написано "Points to a POINT structure that contains the client coordinates to be converted. The new screen coordinates are copied into this structure if the function succeeds." Я понимаю так что в Р заносятся новые координаты? Дай лучше приер.


 
Джо ©   (2005-10-22 23:15) [7]


>  [6] qwerty2k3   (22.10.05 23:10)

Ты не ту Справку читаешь :) Ты привел цитату из Win32 SDK. А нужно смотреть МЕТОД TControl.ClientToScreen. В Справке по Делфи. И там это функция.
Пример см. выше.



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

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

Наверх




Память: 0.48 MB
Время: 0.502 c
4-1126766053
Новый
2005-09-15 10:34
2005.11.13
окно приветствия


4-1126372344
illy
2005-09-10 21:12
2005.11.13
Запуск закрытие приложений


2-1129816409
проходил_мимо_решил_зайти
2005-10-20 17:53
2005.11.13
Мемо и печать


2-1129659571
Алексей2
2005-10-18 22:19
2005.11.13
Сложение,вычитание


14-1130155998
Дельфятник
2005-10-24 16:13
2005.11.13
Где можно можно скачать Report Builder?