Страница 1 из 1

WM_SIZE

Добавлено: 02 дек 2004, 13:39
Loki
Как правильно обработать WM_SIZE на MFC, что бы все мои контролы в окне тоже ресайзились?

Добавлено: 02 дек 2004, 14:50
Romeo
В WTL для этого есть очень удобный класс CDialogResizer. Он всё делает автоматически. Возможно такой класс есть и для MFC, но я про него не слышал. Для MFC напрашивается решение "в лоб" (если класса-ресайзера не найдётся): в хэндлере OnSize делаем для всех контролов MoveWindow, параметры подбираются таким образом, чтобы ресайзин осуществлялся в соответствии с желанием программиста.

Добавлено: 03 дек 2004, 19:12
Loki
Так вот в том то и проблема, что MoveWindow у меня не получилось, бо он всё двигает относительно экранных координат, да и ваще там странно как-то всё сделано...
А CDialogResizer, такого не нашёл...
Может у кого есть рабочий пример? Мне бы куска кода хватило. :)

Добавлено: 03 дек 2004, 19:50
Romeo
Для преобразования координат используй ClientToScreen, ScreenToClient.

Добавлено: 06 дек 2004, 15:50
Loki
Ага, помогло.
Спасибо.