Масштабировать все элементы управления до размера окна - PullRequest
2 голосов
/ 20 сентября 2019

У меня есть диалоговое приложение, которое содержит элементы управления, такие как treectrl, listsctrl и групповой блок содержат все кнопки управления.Я работаю в Visual Studio 2010 Professional Edition. Все элементы управления помещаются в диалоговое окно во время разработки, а элементы управления не создаются во время выполнения.

Использование

int desktopW = GetSystemMetrics(SM_CXVIRTUALSCREEN); 
int desktopH = GetSystemMetrics(SM_CYVIRTUALSCREEN);

позволило получить ширину и высотуокна, затем нашли относительное положение элементов управления.

Используя SetWindowPos, попробуйте изменить ширину и высоту различных элементов управления, если новые ширина и высота меньше, чем ширина и высота старого элемента управления.

Но это требует большого количества вычислений.

Существует ли какой-либо простой способ изменить позицию управления / масштабирование в зависимости от размера окна?

1 Ответ

0 голосов
/ 20 сентября 2019

Используйте Динамический макет для элементов управления.

См. Свойства каждого элемента управления.Затем, используя свойства Moving Type и Sizing Type , вы можете указать, как элемент управления должен перемещаться и / или изменять размер при изменении размера диалогового окна.

dynamic-layout-properties

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