|
Delphi Seattle 10 искажает контролы только в наследуемых формах при 150 dpi
|
|||
---|---|---|---|
#18+
Добрый день. В приложениях, собранных в Delphi 10, сбивается положение контролов на форме при установленном виндовом 150 dpi. При чем это проявляется только для унаследованных форм, даже если родителем была пустая форма, без каких либо контролов и настроек. Формы, унаследованные от TForm - масштабируются без искажений. ОС Windows 7. Выбрано масштабирование 150 dpi и установлена галочка "...в стиле Win XP..." (для того, чтобы приложения не выглядели размытими). При сборке этого проекта в Delphi XE - такой проблемы не наблюдается. В свойствах проекта Delphi 10 - установлена настройка Enable High-DPI . Это нужно для того, чтобы винда не использовала DPI виртуализацию к данному приложению и оно не выглядело размытым, при 150 DPI. Если же в свойствах проекта снять данную настройку, а также отключить в винде масштаб в стиле Win XP , то контролы не съезжают, однако приложение выглядит сильно размытым. Сталкивался ли кто-то с такой проблемой? Или это нужно на QC сразу постить? Используются Delphi 10 Update 1, Delphi XE, Windows 7 x64. В аттачах тестовые проекты для XE и Delphi 10 с абсолютно одинаковыми файлами форм. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2016, 12:32 |
|
Delphi Seattle 10 искажает контролы только в наследуемых формах при 150 dpi
|
|||
---|---|---|---|
#18+
zladeyka, Подтверждаю. Контролы, положенные на наследываемую форму, масштабируются неправильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2016, 15:35 |
|
Delphi Seattle 10 искажает контролы только в наследуемых формах при 150 dpi
|
|||
---|---|---|---|
#18+
Оказывается это баг в самой Delphi 10. Вот есть тикеты на QC: TCustomForm.ReadState behavior in Delphi 10 Seattle Update 1 breaks High-DPI scaling in forms inherited from TForm descendants. Inconsistent font size for TForm instance with or without designed DFM in High-DPI build High DPI - A new Form's PixelsPerInch is always 96 due to a change in TForm.ReadState В тикетах уже прикреплены модули с патчами TCustomForm (подменяются в рантайме методы с багами на патченные) После подключения в проект этих патчей, наследуемые формы отрисовываются правильно при DPI > 96. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 12:56 |
|
Delphi Seattle 10 искажает контролы только в наследуемых формах при 150 dpi
|
|||
---|---|---|---|
#18+
Собрал все патчи в один модуль, выкладываю в общее пользование. Для применения необходимо явно подключить в проект модуль Vcl.Forms.DPI_Pathces.pas ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:14 |
|
Delphi Seattle 10 искажает контролы только в наследуемых формах при 150 dpi
|
|||
---|---|---|---|
#18+
Grammar nazi негодуе - path - путь, patch - заплатка. Pathces - такого слова нетЪ. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:41 |
|
Delphi Seattle 10 искажает контролы только в наследуемых формах при 150 dpi
|
|||
---|---|---|---|
#18+
Michael Longneck, таки да, опечатка закралась, местами <c> и <h> переставлены. Называется - не к чему придраться - до**бись до орфографии :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2016, 13:56 |
|
Delphi Seattle 10 искажает контролы только в наследуемых формах при 150 dpi
|
|||
---|---|---|---|
#18+
zladeyka, Добрый день. Меня к сожалению не пускает под учеткой в QC эмбы. Там тикеты поправлены уже и в какой версии? У меня тут версия 10.4.2, есть смысл в патчах? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2021, 13:21 |
|
|
start [/forum/topic.php?fid=58&msg=39195348&tid=2036831]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 450ms |
0 / 0 |