On-line: PSP, гостей 0. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 6635
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.04.20 09:17. Заголовок: Симуляция разных разрешений экрана


Всем привет.

Замучился запускать Виртуалку для просмотра как работают мои проги под разными разрешениями.
У юзеров разные разрешения экрана, даже есть и такое: 768x560
А прогу просто так на виртуалку не запишешь, иногда ещё кучу баз нужно для проверки.

А нельзя в MAIN модуле при запуске задать типа:
SetDesktopWidth(800) и SetDesktopHeight(600) ?

И чтобы потом функции
GetDesktopWidth(), GetDesktopHeight(), System.ClientWidth, System.ClientHeight ну и другие связанные с этим
возвращали заданное разрешение.

Тогда код можно будет не переписывать нигде и тестировать свою прогу будет удобно.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 4 [только новые]


moderator




Пост N: 1681
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 27.04.20 09:52. Заголовок: Andrey пишет: в MAI..


Andrey пишет:

 цитата:
в MAIN модуле при запуске задать


Так вроде уже Алексей Густов делал такое:
  // GAL - coefficients for "auto-zooming" 
local gkoefh := 1, ;
gkoefv := 1
local gw // for grid columns width
local nRatio := GetDesktopWidth()/GetDesktopHeight()

if nRatio == 4/3
gkoefh := GetDesktopWidth()/1024
gkoefv := GetDesktopHeight()/768
elseif nRatio == 1.6
gkoefv := GetDesktopHeight()/850
endif
gw := 50*gkoefh
...
Рабочий пример см. в папке samples\Applications\SUDOKU

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6636
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.04.20 10:59. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Так вроде уже Алексей Густов делал такое:


Не то.
Так сложно в коде писать и под разные разрешения протестировать программу невозможно.
Отправил рабочий пример на почту.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6637
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.04.20 11:38. Заголовок: Как вариант можно до..


Как вариант можно добавить свои функции и работать через них
_GetDesktopWidth() и _GetDesktopHeight()
но остаётся ещё System.ClientWidth, System.ClientHeight
С ними как поступать ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 6643
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.05.20 14:19. Заголовок: Разобрался с симуляц..


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


Для WinХР есть такие варианты:
100% Обычный размер (96 точек/дюйм)
125% Крупный размер (120 точек/дюйм)
150% Крупный размер (144 точек/дюйм)
200% Крупный размер (192 точек/дюйм)

Для Win7 уже не помню какие, под рукой нет для проверки.

Для Win8 оставили только 3 режима: мелкий, средний и крупный.

Вопрос такой - а как симулировать размер фонта ?
То есть как вычислить размер фонта который будет в системе допустим при масштабе 200% ?
У меня есть такие пользователи, который масштаб выставляют 200%
И зная этот размер, то можно уже у себя делать типа такого:
     nFontSize := IIF(Large2Fonts(),12,14)

Ну и потом смотреть в симуляторе как форма выглядит, если надо, то исправить.
Или может не с той стороны подхожу к этой проблеме ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 336
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет