Проблема с отображением программного обеспечения - PullRequest
0 голосов
/ 02 марта 2011

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

Настройка отображения моего программного обеспечения по умолчанию: «800 x 600»

Клиенты с различными настройками отображения, такими как «800 x 600», «1366 x 768», «1280 x 768»«

Клиент, использующий программное обеспечение больше, чем« 800 x 600 », означает, что программное обеспечение не имеет полноэкранного режима.Программное обеспечение отображает 75% ширины монитора.

Когда я вручную изменяю размер программного обеспечения в соответствии с дисплеем, изображения отображаются очень большими.

Как отображать программное обеспечение в полноэкранном режиме в соответствии с размером дисплея монитора.

Требуется код справки

Ответы [ 3 ]

5 голосов
/ 02 марта 2011

Простой вариант - предоставить пользователям возможность максимизировать вашу форму, что приведет к тому, что она заполнит весь экран, независимо от текущих настроек разрешения их компьютера.

Единственная проблема этого подхода заключается в том, что он не будет растягивать / изменять размеры элементов управления в вашей форме, чтобы соответствовать новому размеру. Компоновка будет выглядеть так же, как и раньше, но теперь она будет втиснута в верхний левый угол, с обширным пространством пустого пространства внизу и справа от него. Таким образом, хитрость заключается в динамическом изменении размера элементов управления в вашей форме всякий раз, когда форма сама меняет размер.

К сожалению, VB 6 не имеет встроенной поддержки для этого. У вас нет другого выбора, кроме как написать код для изменения размера всех ваших элементов управления самостоятельно. Лучшее место для этого - событие Resize вашей формы. Вы можете определить текущий размер вашей формы, проверив ее свойства ScaleWidth и ScaleHeight. Каждый из ваших элементов управления предоставляет похожее свойство Width и Height, которое вы можете использовать для установки их размеров относительно размера их формы контейнера. Вам нужно будет разработать некоторую элементарную математическую логику, чтобы определить размеры. Быстрый поиск в Google должен найти несколько примеров того, как это сделали другие, но блестящей модели нет.

Один пример можно найти в почтовых программах, таких как Microsoft Outlook. У вас может быть TreeView, который занимает 100% высоты формы, но только 50% ее ширины; ListView, который занимает 50% высоты формы и 50% ее ширины; и TextBox, расположенный под этим, занимая 50% высоты формы и 50% ее ширины. Это приведет к созданию макета жидкости, подобного показанному ниже:

--------------------------------
|              |               |
|              |               |
|              |   ListView    |
|              |               |
|              |               |
|   TreeView   |---------------|
|              |               |
|              |               |
|              |    TextBox    |
|              |               |
|              |               |
--------------------------------
0 голосов
/ 03 марта 2011

Вы можете использовать метод move для изменения размера элементов управления. Используйте свойства scalewidth, scaleheight, scalemode, twipsperpixel при изменении размера.

Но метод перемещения не будет работать правильно при изменении размера элементов управления в SSTab, который требует дополнительных усилий для преодоления этого. Вы можете сослаться this

Другой способ - создать формы с наименьшим разрешением (т.е. 800X600), чтобы форма будет отображаться во всех других разрешениях.

0 голосов
/ 02 марта 2011

Просто измените свою основную форму на максимизацию (установите для свойства window state значение 2 - Maximized), а затем убедитесь, что все элементы управления, которые она содержит, изменяют размеры или перемещаются по мере необходимости.

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