|
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д неё? |
|
| 26.08.2008, 14:54 | |
|
Ответы с готовыми решениями:
6
Смена резолюции экрана Css автоматическая адаптация под разрешение экрана Параллельный метод резолюции |
|
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: А что делает програма-то? (если не секрет) :-)) |
|
| 04.09.2008, 18:11 | |
|
Помогаю со студенческими работами здесь
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),. . .
|