Как я могу изменить размер моей программы vb6, чтобы она автоматически подходила под любое разрешение экрана? - PullRequest
3 голосов
/ 15 июля 2010

Как я могу иметь программу vb6, которая правильно открывается в 1280 * 1024, но при переключении на другие разрешения, скажем, 640 * 480, я могу видеть только половину экрана. как изменить размер моей программы vb6, чтобы она автоматически подходила под любое разрешение экрана?

Ответы [ 9 ]

2 голосов
/ 20 июля 2010

Вам необходимо использовать объект Screen , это всегда даст вам текущее разрешение в пикселях:

Dim screenwidth,screenheight As Single

screenwidth = Screen.Width \ Screen.TwipsPerPixelX
screenheight = Screen.Height \ Screen.TwipsPerPixelY
0 голосов
/ 06 марта 2018

Как только мы узнаем разрешение экрана, вы можете сделать несколько вещей.

• Самое простое решение - создать другую форму для размещения четырех самых популярных разрешений монитора - 640 x 480, 800x 600, 1024 x 768 и 1600 x 1200.

• В качестве альтернативы, мы могли бы написать код, который динамически изменяет размеры и перемещает каждый элемент управления в форме на основе разрешения экрана - задача не из легких!

• Сторонние элементы управления, которые изменяют размеры элементов управления в зависимости от разрешения экрана, достаточно эффективны.В целом, тем не менее, лучше избегать подобных проблем, если вы можете.Например, см. Создание гибких форм в Visual Basic (Flexi-Forms) на codeguru.com

0 голосов
/ 20 апреля 2017

Чтобы автоматически подогнать разрешение экрана, вам нужно скачать активный х, перетащив его на свой конформ. Искать "veg gold vb6.0 Изменение размера экрана".

0 голосов
/ 30 января 2015

Инструмент ActiveX «ActiveResize Control Lite» ограничен 20 элементами управления на форму.

0 голосов
/ 08 февраля 2013
Form1.Height = Screen.Height
Form1.Width = Screen.Width

Этот код устанавливает размер формы в соответствии с разрешением экрана.

0 голосов
/ 22 июля 2010

Я использую ComponentOne SizerOne

Элемент управления C1Elastic позволяет изменять размеры и поддерживать соотношение сторон, изменяя размеры внутренних элементов управления в соответствии с заданной настройкой.

Это не бесплатно, но он окупился за все сэкономленное время.

0 голосов
/ 21 июля 2010

Вы пробовали какие-либо сторонние инструменты для этого? Вот (бесплатный), который, кажется, работает: -

ActiveResize Control Lite - Я создал быстрый проект, чтобы попробовать его, и он делает то, что говорит на банке!

В облегченной версии есть некоторые ограничения, такие как количество форм в проекте, количество элементов управления в форме и т. Д. Вы также можете купить стандартную или профессиональную версию, если вам нужна дополнительная функциональность.

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

0 голосов
/ 16 июля 2010

Нет простого способа сделать это в VB6, как в .Net. Вы должны вручную изменить размер всего в обработчике событий Resized формы, основываясь на размере клиента новой формы. Это боль и огромный беспорядок, но это единственный способ сделать это.


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

0 голосов
/ 16 июля 2010

Обычно форма, поддающаяся изменению размера, имеет элементы управления, которые поддаются макету «потока».Часто это что-то вроде TextBox, элемента управления сеткой и т. Д., Которые поддерживают полосы прокрутки.Вы уменьшаете / увеличиваете такие элементы управления по мере необходимости после выделения позиций (т.е. перемещения) элементов фиксированного размера, таких как кнопки и т. П.

Для занятой формы с большим количеством элементов управления фиксированного размера, которые не «ориентированы на документ»нет определенного ответа.Иногда создание прокручиваемой формы имеет смысл, но обычно это не так.

Некоторые люди пытаются изменить размер «фиксированных» элементов, изменить размеры шрифтов и т. Д. Это может привести к результатам смешанного качества, иногда хорошего, а иногда нет.

Соображения о размере формы лучше всего составлять заранее, как часть процесса проектирования.Для некоторых приложений может быть лучше выбрать минимальный поддерживаемый размер формы.В других случаях вам, возможно, придется разбить вещи с помощью диалоговых форм или элементов управления вкладками.

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