Win32 GUI: изменить размер диалога - PullRequest
3 голосов
/ 10 февраля 2010

У меня есть основное Win32 диалоговое приложение. Как мне сделать его изменить размер?

Если бы это было окно, это было бы возможно по умолчанию (и это вызвало бы WM_SIZE). Я новичок в диалогах, и я не могу понять, как: 1. когда курсор мыши находится над краем, он должен измениться на IDC_SIZEWE или IDC_SIZENS, 2. просто изменить размер диалога, я знаю, как расположить содержимое диалога .

Ответы [ 3 ]

2 голосов
/ 10 февраля 2010

Вам не нужно выполнять работу по перемещению курсора к краю, есть только стиль, который необходимо установить в файле .rc или редакторе диалогов.

Из диалогового редактора: Установите границу на Изменение размера, чтобы разрешить изменение размера диалогового окна.

Из редактирования файла .rc напрямую: Добавить | WS_THICKFRAME к строке с STYLE

0 голосов
/ 03 декабря 2010

Примечание. Я попытался сделать это, вызвав ModifyStyle () для окна в onInit (). Однако это не работает. Вы получаете курсор изменения размера, но изменение размера не происходит.

Это, очевидно, должно быть установлено в файле RC или, возможно, еще более при создании окна.

0 голосов
/ 10 февраля 2010

Какие стили окон вы установили в своем диалоге?

Если вы используете каркас, такой как MFC, вы можете восстановить диалоговое окно, размер которого больше не изменяется, убедившись, что установлен WS_THICKFRAME / WS_SIZEBOX или другой подходящий стиль окна. В некоторых средах разработки это также может быть установлено в свойствах диалогового окна, если вы используете что-то с поддержкой времени выполнения.

Если вы создали окно вручную, укажите один или другой в вашем вызове CreateWindow / CreateWindowEx вместе с другими стилями окна. Некоторые стили окон, такие как WS_OVERLAPPED, также подразумевают изменяемый размер рамки.

Стили окон @ MSDN
CreateWindowEx @ MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...