powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Про Scale
14 сообщений из 14, страница 1 из 1
Про Scale
    #39482004
1. Запустилось приложение, когда в Windows было выставлено 100%. Приложение свернули - открыли настройки Windows и изменили на 125%. Как это совершенно точно определить - и то, что масштаб был изменён, и то, с какого значения на какое именно масштаб был изменён?

2. Масштаб в Windows XP отличается чем от масштаба в Windows 10?
...
Рейтинг: 0 / 0
Про Scale
    #39482042
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любо пытныйПриложение свернули - открыли настройки Windows и изменили на 125%.

Эта операция требует перезагрузки, которую приложение не переживёт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Про Scale
    #39482055
В том-то и дело, что в последних Windows перезагрузка после изменения масштаба не требуется - Windows лишь предлагает совершить Sign Out, и то предлагает как-то вяло, ненавязчиво. Получается, что система никак не мешает пользователю изменить масштаб, закрыть настройки и вернуться в приложение. Я хочу определить момент изменения.
...
Рейтинг: 0 / 0
Про Scale
    #39482067
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Про Scale
    #39482114
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭта операция требует перезагрузки, которую приложение не переживётсамая попа в прыжках DPI при подключении по RDP с разными настройками((
...
Рейтинг: 0 / 0
Про Scale
    #39483202
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00ch,

да? а я то думал это когда на оджном компьютере несколько мониторов с разными DPI и окошко таскают между ними

Возможно дельфино что-то поправило на эту тему, не проверял

https://github.com/delphinotes/BaseForms
...
Рейтинг: 0 / 0
Про Scale
    #39483442
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arioch,
Обработку WM_DPICHANGED я не реализовывал, пока это больше экзотика и нет острой необходимости.
...
Рейтинг: 0 / 0
Про Scale
    #39483455
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем вручную отслеживать изменение масштабирования, если этим должна сама система заниматься (винда плюс вцл/фаерманки) и автоматом применять нужные настройки к приложению?
...
Рейтинг: 0 / 0
Про Scale
    #39483461
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JaDi,

VCL это делает только в последних версиях. И то, корявисто.. Вобщем, формочки надо изначально разрабатывать с учётом смены DPI в Run-Time.
...
Рейтинг: 0 / 0
Про Scale
    #39483462
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphinotes,

это как? Вручную выставлять размеры шрифтов и контролов в зависимости от текущего dpi?
...
Рейтинг: 0 / 0
Про Scale
    #39483476
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiэто как? Вручную выставлять размеры шрифтов и контролов в зависимости от текущего dpi?У нас с 17.1 добавлена поддержка HiDPI в наши контролы (правда не все успели, добавляем в минорах). Плюс наши диалоги в контролах поддерживают, в том числе и перенос окна между мониторами с разным DPI
...
Рейтинг: 0 / 0
Про Scale
    #39483481
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDidelphinotes,

это как? Вручную выставлять размеры шрифтов и контролов в зависимости от текущего dpi?А чем процедура ScaleBy не устраивает?
...
Рейтинг: 0 / 0
Про Scale
    #39484096
delphinotes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JaDidelphinotes,

это как? Вручную выставлять размеры шрифтов и контролов в зависимости от текущего dpi?

Нет. Но при размещении контролов относительно друг-друга - это необходимо учитывать. Вся фишка в том, что координаты и размеры - они целочислены. Если, скажем, у тебя отступ от левого края до контрола - 4 точки, то при масштабе в 125% они превратятся в 5 точек и всё будет красиво. А если было 6 точек, то после масштабирования будет 8 (а не 6 *1.25 = 7.5) - это будет малозаметно, но... скажем после последующего масштабирования вверх до 150% и обратного до 100% исходные 6 превратятся в 7 и всё поедет. (Да ты и сам это знаешь.)

Вот чтобы минимизировать вероятность накопления ошибок можно:
а) сохранять Design-размеры и позиции контролов, и масштабировать относительно сохранённых значений;
б) пользоваться свойствами align, alignwithmargins, margins, anchors и autosize (ессно не везде это допустимо, но можно).
А ещё не все кастомные контролы поддерживают тот же ScaleBy; если ещё не пофиксили, то VCL не масштабирует Constraints, Margins и Padding... и ещё фреймы не масштабировались при создании их в RunTime.
А ещё проблемы у обычных меню и PopupMenu - при масштабе 125% и выше они выглядят убого (в самой винде, кстати, тоже.. возможно в Win10 по другому, не проверял).
А ещё масштабирование отсутствует в ImageList'е - из-за этого тулбары и менюшки могут "скакать" (в VCL не хватает что-то типа FMX-ового MultiResImageList, или как он там).
А ещё неклиентская область не масштабируется (хотя вроде в Win10 уже).
А ещё контролы могут создаваться в RunTime, и здесь нельзя пользоваться константами (точнее можно, но необходимо делать что-то типа Height := MulDiv(iDefaultHeight, CurrentDPI, 96). А если пишется кастомная реализация прорисовки чего-нибудь, то написать хороший код - это надо постараться.

Вот все эти поддержки HighDPI, про которые пишут в каждом релизе делфей - каждый раз делается что-то, но проблемы остаются. Правда последний релиз (который Токио) - не смотрел ещё.
...
Рейтинг: 0 / 0
Про Scale
    #39484128
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delphinotesПравда последний релиз (который Токио) - не смотрел ещё.та же фигня
пришлось переписывать часть внутренней обработки, больше мешает чем помощи :-(
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Про Scale
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]