![]() |
|
![]() ![]() ![]() |
|
The Thing |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 286 Регистрация: 6.9.2004 Репутация: 1 Всего: 3 |
Такая ситуация.
1. Получаю глобальные(относительно экрана) размеры окна. 2. Изменяю глобальные координаты, как мне надо. (ошибки тут нет) 3. Высчитываю разницу между координатами окон, для определения позиция child-окна, относительно parent-окна. 4. Меняю положение окна. Данная вещь, частично реализует сплиттер, а точнее изменения размеров child`ов. Все это реализуется в виде контрола ActiveX. Так вот, когда я использую в качестве отладчика стандартный диалог, и просто размещаю на нем свой контрол (он от CWnd), то все работает нормально, а если студийный Test Container, то проявляется следующая особенность: rcNewFirst.left и rcNewFirst.top = 3; (сначало посмотрите код) хотя в первом случае эти параметры были равны 0. И при MoveWindow() мой child смещается на 3 пикселя по X и Y.
Вопрос: как это обойти, что это вообще такое, и от чего зависит? Можно ли напрямую узнать координаты окна относительно HWND? Заранее благодарен. -------------------- Правильность работы программы зависит от двух велечин. В нужном месте должны стоять нолик и еденичка. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Всегда работай в координатах парента - ты же чайлды таскаешь.
-------------------- ... |
|||
|
||||
The Thing |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 286 Регистрация: 6.9.2004 Репутация: 1 Всего: 3 |
GetWindowRect( &rcFirst ) - получает глобальные координаты, в том-то и проблема перейти к координатам parent
MoveWindow - работает в координатах parent`а -------------------- Правильность работы программы зависит от двух велечин. В нужном месте должны стоять нолик и еденичка. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Какая проблема? ScreenToClient, MapWindowPoints и т.д.
И насчет MoveWindow ты прав только для дочерних окон. -------------------- ... |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |