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

Вниз

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

 
xroot   (2005-07-10 16:07) [0]

Компонент может находится на форме или на панели  расп. на форме. или на панели расп. на другой панели.
Как найти координаты компонента относительно экрана, а не формы илм его родителя (панель).


 
xgreen   (2005-07-10 16:39) [1]

ClientToScreen


 
xroot   (2005-07-10 17:50) [2]

Выдает не те координаты (не коорд текущего компонента)


FormMsg.Top :=  (Form.Components[i] as TWinControl).ClientToScreen((Form.Components[i] as TWinControl).ClientOrigin).Y;
FormMsg.Left := (Form.Components[i] as TWinControl).ClientToScreen((Form.Components[i] as TWinControl).ClientOrigin).X;


 
Anatoly Podgoretsky ©   (2005-07-10 18:15) [3]

xroot   (10.07.05 17:50) [2]
Такого за ним не замечено.


 
xroot   (2005-07-10 18:20) [4]

По идее, форма должна показываться прямо на текущем компоненте (верхний леый угол должен у них совпадать). Этого не происходит. Она вообще появляется 4ерте где.


 
begin...end ©   (2005-07-10 18:20) [5]

> xroot   (10.07.05 17:50) [2]

var
 P: TPoint;
begin
 P := (Form.Components[...] as TWinControl).ClientToScreen(Point(0, 0));
 ShowMessageFmt("Left: %d Top: %d", [P.X, P.Y])
end.


 
xgreen   (2005-07-10 21:44) [6]


> xroot   (10.07.05 17:50) [2]
> Выдает не те координаты (не коорд текущего компонента)


> xroot   (10.07.05 18:20) [4]
> По идее, форма должна показываться прямо на текущем компоненте
> (верхний леый угол должен у них совпадать). Этого не происходит.
> Она вообще появляется 4ерте где.


Хм. Ну так понятно: ClientToScreen превращает координаты компонента в экранные координаты. А если тебе необходимо компонент отобразить, к примеру, на другой форме, то воспользуйся вторым преобразованием ScreenToClient, но опять же орабти внимание на расположение этой формы на экране, иначе координаты могут оказаться за пределами формы.



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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
14-1120628954
Aelita
2005-07-06 09:49
2005.07.31
Уборщица-хакер


14-1121167728
syte_ser78
2005-07-12 15:28
2005.07.31
Как убрать пробел?


14-1120716122
vajo
2005-07-07 10:02
2005.07.31
Есть адрес сетевой карты, нужен ее IP


8-1111931405
ASD!
2005-03-27 17:50
2005.07.31
Посоветуйте компонент поддерживающий все графические форматы!


1-1120813858
Shlomo
2005-07-08 13:10
2005.07.31
ClientDataSet: проблема с Lookup полем.