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




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


Всем привет.

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

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

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

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

Спасибо: 0 
ПрофильЦитата Ответить
Новых ответов нет [см. все]


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 
ПрофильЦитата Ответить





Пост N: 194
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 30.05.20 13:50. Заголовок: Для Win7 100% Обычны..


Для Win7 так же: 100% - 96 точек/дюйм, 125% - 120 точек/дюйм, 150% - 144 точек/дюйм.

Ну и я делаю практически, как у Густова - форму готовлю для разрешения 1366x768 (к примеру).
Затем для других размеров вычисляю коэф.

FUNCTION set_aXY()
LOCAL aXY := { GetDesktopWidth(), GetDesktopHeight() } // Screen Mode X,Y: 1920,1080
aXY[1] /= 1366; aXY[2] /= 768
IF aXY[1] < 1; aXY[1] := aXY[2] := 1; ENDIF
RETURN aXY

И еще делаю поправку для DPI (для себя определил на глаз) :
Допустим для разрешения <= 1080: 14 - MakeFontSize(), <= 1152: 16 -... и т.д
FUNCTION MakeFontSize()
LOCAL nI := GETDPIX()
RETURN IIF(nI >= 144,4,IIF(nI>=120,2,0))

Затем перед активацией формы запускаю:
Скрытый текст

Только TBrowse пока не поборол - отдельно потом ормирую иначе при редактировании ячейка улетает вверх почему-то.
Пока так.

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




Пост N: 6718
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.05.20 15:55. Заголовок: Вот для просмотра ка..


Вот для просмотра как будет выглядеть форма на разных разрешениях экрана я и сделал с помощью Сергея
вот такую программу Desktop Simulator
http://www.hmgextended.com/helpful-application/

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

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