Cbuilder XE3 масштабирует (расширяет) форму при редактировании в RAD IDE

У меня есть некоторые приложения, но не все, которые "волшебным образом" увеличивают формы в 1,23 раза, когда я открываю формы в RAD IDE. Например, ширина формы 947 пикселей внезапно переходит на 1166 пикселей. Он подозрительно близок к соотношению пикселей 120/96 (отношение 1,25), но масштабирование постоянно ближе к 1,23 (судя по большим целочисленным соотношениям, полученным, например, из ширины и высоты формы).

Я могу посмотреть на файл.dfm и увидеть исходные числа, тогда как в IDE значения были изменены (например, увеличены высота и ширина, отрегулированы позиции управления и увеличены размеры шрифта).

Я знаю, что масштабирование и dpi - это минное поле, но я не (насколько мне известно) не изменил никаких связанных настроек.

Как для аффектных, так и для незатронутых проектов формы имеют Scaled свойство установлено на "истина" и PixelsPerInch свойство установлено на 96. Разрешение экрана моего компьютера разработки установлено на 100%. Это настройка, которая должна избежать этих проблем.

Я просмотрел проект и файлы конфигурации IDE в бесплодной попытке выяснить, что может отличаться в проекте, в котором есть эта проблема, по сравнению с проектом, в котором этого нет.

Все затронутые (и незатронутые) проекты находятся в разработке в течение многих лет, и только на последней неделе я наблюдал такое поведение. Насколько мне известно (я являюсь единственным разработчиком), я не вносил никаких изменений в код / ​​конфигурацию, которые касаются масштабирования, dpi и т. Д.

Кто-нибудь знает, что может происходить?

Хотя я использую CBuilder XE3, я пометил этот вопрос и Delphi XE3, так как считаю, что это проблема RAD Studio.

РЕДАКТИРОВАТЬ 1: Я также заметил, что для каждого измененного элемента управления в среде IDE добавляются следующие дополнительные строки (т.е. в дополнение к изменению Top, Left, Width, Height, а также Font.Height):

Margins.Left = 4
Margins.Top = 4
Margins.Right = 4
Margins.Bottom = 4

и для TImages, это также добавляет

ExplicitWidth = <nnn>
ExplicitHeight = <nnn>

РЕДАКТИРОВАТЬ 2: Любопытно, что когда IDE масштабирует форму, она не помечает форму как измененную - то есть форма остается неизменной до тех пор, пока не будет сделано "реальное" изменение (например, изменение положения элемента управления). Если форма открывается во второй раз после сохранения с измененной шкалой, дальнейшее масштабирование не происходит - это кажется одноразовым эффектом, но в любом случае не существует флага "незапрошенный для выполнения" конфигурационный файл:)

0 ответов

Другие вопросы по тегам