Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
yasha

Автоматическая подстрояка к резолюции экрана.

26.08.2008, 14:54. Показов 1258. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня экрaн 800x600
Вoпрoс кaк сделaть чтoбы нa кoпмaх с другoй резoлюцией прoгрaммa aвтoмaтически пoдстрaивaлaсь пoд неё?
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2008, 14:54
Ответы с готовыми решениями:

Смена резолюции экрана
Есть ли какая-то возможность изменить резолюцию экрана на клиенте? Проблема такая: у разработчика выставлена резолюция экрана 1024 на 768,...

Css автоматическая адаптация под разрешение экрана
имею несколько элементов на странице с прописанным размером. к прим: .header1 {width:1000px;} .chetotam2 {padding-top: 400px;} эти...

Параллельный метод резолюции
Привет! Во вложениях 2 картинки с алгоритмом. По идее он должен быть параллельным. На данный момент я его реализовал для высказываний....

6
frost
26.08.2008, 19:25
Не совсем понятен вопрос: Что имеется в виду под словом 'подстраивалась'? Местоположение на экране? Занимаемая площадь экрана? или что-то ещё?
yasha
30.08.2008, 13:02
Занимаемая площадь экрана
frost
03.09.2008, 19:34
Для начала получаем текущее разрешение:

Dim intWidth As Integer
Dim intHeight As Integer
Dim Resolution As String
intWidth = Screen.Width Screen.TwipsPerPixelX
intHeight = Screen.Height Screen.TwipsPerPixelY
Resolution = Str$(intWidth) + ' x' + Str$(intHeight)

У любой формы, как и у всех элементов управления на ней есть свойства
'Height' и 'Width'

Далее - последовательно меняем разрешение на своём экране, руками подстраиваем размеры формы и всех элементов управления на ней, записываем значения свойств 'Height' и 'Width' для формы и элементов управления - так для каждого разрешения, 'поддержку' которого вы хотите включить.

Остаётся только напитать код, который меняет те самые свойства 'Height' и 'Width' у формы и контролов в зависимости от резолюции...

...что-то вроде:
if Resolution=' 800 X 600' then
form1.height=3600
form1.width=4800
... и т.д.

Удачи!
0 / 0 / 0
Регистрация: 09.08.2008
Сообщений: 19
04.09.2008, 05:15
'''''''''''''
'значения передаём через процедуру:
'SetVideoMode(SVMwidth As Long, SVMheight As Long, SVMdepth As Long)
'''''''''''''

Option Explicit

Private Declare Function ChangeDisplaySettings Lib 'user32.dll' Alias 'ChangeDisplaySettingsA' (lpDevMode As DEVMODE, ByVal dwFalgs As Long) As Long
Const DM_BITSPERPEL = &H40000
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Const CCHDEVICENAME = 32
Const CCHFORMNAME = 32
Private Type DEVMODE
dmDeviceName As String * CCHDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCHFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Dim dm As DEVMODE

Public Sub SetVideoMode(SVMwidth As Long, SVMheight As Long, SVMdepth As Long)
dm.dmPelsWidth = SVMwidth
dm.dmPelsHeight = SVMheight
dm.dmBitsPerPel = SVMdepth
dm.dmSize = Len(dm)
dm.dmFields = DM_PELSWIDTH + DM_PELSHEIGHT + DM_BITSPERPEL
ChangeDisplaySettings dm, 0
End Sub
0
0 / 0 / 0
Регистрация: 09.08.2008
Сообщений: 19
04.09.2008, 05:20
блин... кажись, неправильно я понял вопрос... надо не изменять разрешение экрана, а программа (я так понимаю - frmMain ?) чтобы вставала в ценре экрана? и если разрешение меньше, сжимала конролы?....
ЛУЧШЕ , пусть прога изменяет разрешение другого компа, только не забываем вернуть установленное после выгрузки....
0
frost
04.09.2008, 18:11
Cмотря для каких целей програма. Вообще-то, на мой взгляд, когда проиложение меняет разрешение экрана 'без спроса' пользователя это выглядит не очень красиво!Да и монитор может банально не поддерживать ,например 1024 Х 768. Так, что по-моему, лучше слегка помучаться (совсем немного) и написать код для изменения размеров формы и контролов в зависимости от разрешения! хотя...

to yasha: А что делает програма-то? (если не секрет) :-))
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.09.2008, 18:11
Помогаю со студенческими работами здесь

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

Задача, метод резолюции
в общем само условие: Некоторые улитки являются горами. Все горы любят кошек. Значит, все улитки любят кошек. Если честно, понятия не...

Проверка истинности. Метод резолюции
(А→В), (В→С), (С→D), A & B ├ B&D //как решать подобное я вообще не знаю, но кажется используется илюминация импликаций.

Преобразовать теоремы в вопросы и получить ответы (метод резолюции)
Добрый вечер. Помогите преобразовать теоремы в вопросы и получить ответы. 1.1. А1: Если пассажир сел в самолет, на который ему удалось...

Автоматическая установка приложений вирусом и открытие новых вкладок Автоматическая установка приложений виру
Вот логи. Пожалуйста помогите


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru