Разрешение экрана Вопрос VS2008 - C ++ CLI - PullRequest
0 голосов
/ 16 мая 2010

У меня есть программа размером 800x600.

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

Я подумываю подойти к этому так: взять разрешение экрана пользователя и вручную изменить размер всего, и сделать это для всех распространенных разрешений, если у пользователя есть какое-то редкое разрешение, просто сделайте так, чтобы максимизировать кнопки сворачивания отключены.

Но это займет очень много времени, так как в формах много элементов, и они являются множественными формами .....

В принципе, есть ли ярлык? Возможно, встроенная функция или какая-то надстройка для VS2008.

Какими методами можно решить эту проблему?

1 Ответ

0 голосов
/ 30 июня 2010

Как вы уже заметили, почти в каждой программе Windows есть кнопка максимизации. Так что это, безусловно, общая проблема, и действительно есть решения.

Обычно вы не связываетесь с фиксированными разрешениями. Это действительно проигрышная игра, хотя бы потому, что панель задач отнимает неопределенное количество места. Даже если вы тщательно перечислили все разные случаи, вам, вероятно, придется повторить его для Windows 8.

Вместо этого вы обычно распределяете «лишнее» пространство над различными элементами управления. Например, поскольку ваше приложение имеет минимальный размер 800x600, дополнительное пространство на рабочем столе 1024x732 будет 224 по горизонтали и 132 по вертикали. Скорее всего, ваша строка меню уже знает, как с этим справиться: она занимает 100% дополнительного горизонтального пространства и 0% вертикального пространства. Для других элементов управления в вашем окне вы можете определить аналогичные проценты. Часто назначаемые проценты составляют 0% и / или 100%. В WinForms вам просто нужно сообщить об этом вашему движку Windows.

Кроме того, вы также должны использовать относительное расположение элементов управления. Например, если у вас есть текстовый элемент с возможностью расширения на 100% слева от вашего окна и фиксированная кнопка справа, то вы должны расположить эту кнопку относительно правого края. В WinForms это может быть достигнуто через свойство Anchor.

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