Масштабирование индикатора DbGrid и значков DbNavigator на дисплее 4K - PullRequest
1 голос
/ 19 марта 2019

Я использую DPro Rio 10.3 на HP Specter x360, который имеет дисплей 4K.Индикатор на DbGrids и значки для элементов управления DbNavigator прекрасно масштабируются в 1980 X 1080, но почти не видны при разрешении 4K.Текст отлично масштабируется при любом разрешении.

Я посмотрел исходный код для обоих компонентов, и они содержат методы, которые используют LoadfromResource для загрузки соответствующей графики из исполняемого файла.TDbNavigator вызывает LoadfromResourse в виртуальном методе SetButtonGlyph во время выполнения.

Кроме того, кажется, что код DbGrid пытается масштабировать индикатор в одном из его методов.Это, однако, не работает, по крайней мере, на моем ноутбуке.

К вашему сведению, для свойства Scaled формы установлено значение TRUE.Я также пробовал несколько настроек в манифесте, но ни одна из них не имеет значения.

Как я могу решить эту проблему.Это потому, что эти элементы управления используют изображение 16 x 16 или есть какая-то другая причина?Есть ли способ заменить графику для каждого компонента на изображения с более высоким разрешением в исполняемом файле ресурсов или программно во время выполнения?

1 Ответ

0 голосов
/ 22 марта 2019

Я наткнулся на ответ из поста на сайте TMS Software.Для правильного отображения на экранах 4k разрешение DPI должно быть установлено на none.Я проверял это и в Рио, и в Токио, и это работаетДля Rio вы должны выбрать Project | Options и перейти в раздел Application.Выберите «Манифест» и в раскрывающемся списке «Осведомленность о DPI» выберите «Нет».

Для Токио также выберите «Проект | Параметры», перейдите в «Приложение» и снимите флажок «Включить DPI».

...