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

Вниз

Месторасположение объекта...   Найти похожие ветки 

 
Shira333 ©   (2004-10-11 17:23) [0]

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


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

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


 
Shira333 ©   (2004-10-12 17:14) [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-13 23:05) [3]

Я понял, что объект - это полноценное окно с 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;



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

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

Наверх




Память: 0.47 MB
Время: 0.052 c
3-1099159192
SergP
2004-10-30 21:59
2004.11.28
Отображение номера записи в DBCtrlGrid


14-1099952659
Lancelot
2004-11-09 01:24
2004.11.28
Почитать :)


4-1097839922
Leaner
2004-10-15 15:32
2004.11.28
Местонахождение WINDOWS SYSTEM32 DRIVERS


4-1097792009
AKA
2004-10-15 02:13
2004.11.28
Как сделать приложение активным ?!


3-1098737306
Sulimxar
2004-10-26 00:48
2004.11.28
DevExpress для Delphi 7