Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Месторасположение объекта... [D6, WinXP]


Shira333 ©   (2004-10-11 17:23:00) 

Значит проблема такая... Мне нужно узнать расположение объекта в чужом окне, что бы поверх него создать свой. Ф-цию то я знаю GetWindowRect, но она выдает расположение всего окна, а на ф-ию GetClientRect выдет нули. Когда создается объект, то нужно указать расположение относительно клиентской части окна. Кто знает как узнать расположение уже существующего объекта относительно клиентской части окна???


Alex870   (2004-10-13 23:05:00) [1]

Я понял, что объект - это полноценное окно с HWND, только почему r1 получается с помощью GetClientRect?
Because client coordinates are relative to the upper-left corner of a window's client area, the coordinates of the upper-left corner are (0,0).
Если тебе нужно создавать свой объект поверх чужого - получай его координаты (GetWindowRect) и создавай - ведь они будут мировыми, ну если очень хочешь, то используй ScreenToClient, только я не понял зачем это: x:=r2.left-r1.left;y:=r2.top-r1.top;


Shira333   (2004-10-12 17:14:00) [2]

Объект - EDIT. А применить пытался так:
h1: HWND; //Окно
h2: HWND; //Эдит
r1, r2: TRect;
x, y: Integer; //Координаты нового объекта в оконной СО
...
GetClientRect(h1, r1);
GetWindowRect(h2, r2);
x:=r2.left-r1.left;
y:=r2.top-r1.top


Alex870   (2004-10-11 19:48:00) [3]

А если не секрет - что за объект и как применяешь GetClientRect?


Наверх

Титульная страница Поиск, карта сайта Написать письмо