|
Масштабируемость контролов при установке системного шрифта
|
|||
---|---|---|---|
#18+
На XE2 в приложении была сделана подстановка родного шрифта Tahoma на системный шрифт (по примеру Gunsmoker'а http://www.gunsmoker.ru/2010/11/windows-xp-windows-vista7.html). Все работало замечательно. В дизайнере и runtime все отображалось пропорционально. Однако при переходе на 10.2 (и 10.3) данный метод перестал работать, т.к. при построении формы был выкинут кусок проверяющий высоту шрифта. Вот как это выглядело в XE2: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53.
В десятках так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Результат такой: Первая картинка - это Tahoma Вторая картинка - подмена системного шрифта. Сам шрифт у Label и Edit поменялся на Segoe. Размеры поменялись только у Edit, т.к. у него собственная обработка высоты шрифта. Третья картинка - с вставленным куском кода из XE2. Видно, что отмасштабировались все контролы согласно пропорции шрифтов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2021, 13:47 |
|
Масштабируемость контролов при установке системного шрифта
|
|||
---|---|---|---|
#18+
Собственно вопрос - как установить приложению системный шрифт? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2021, 14:03 |
|
Масштабируемость контролов при установке системного шрифта
|
|||
---|---|---|---|
#18+
vSerg, возможно пальцем в небо: попробуй убери опцию Enable High-DPI в опциях манифеста проекта ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2021, 15:32 |
|
Масштабируемость контролов при установке системного шрифта
|
|||
---|---|---|---|
#18+
Zelius, В том то и дело, что DPI тут ни при чем. В коде отсутствует сравнение размеров шрифта среды разработки и системного шрифта при создании формы. Все происходит на одном компьютере со стандартным DPI и в дизайне, и в рантайме. Пока видится написание хелпера для TCustomForm и переопределение ReadState. Либо я чего-то упускаю в 10ке. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 10:42 |
|
Масштабируемость контролов при установке системного шрифта
|
|||
---|---|---|---|
#18+
vSerg Пока видится написание хелпера для TCustomForm и переопределение ReadState. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 13:34 |
|
Масштабируемость контролов при установке системного шрифта
|
|||
---|---|---|---|
#18+
_Vasilisk_ Хелперы не умеют переопределять методы Согласен, но можно подменить вызов метода на свой. Тут есть пример как это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 10:06 |
|
|
start [/forum/topic.php?fid=58&fpage=7&tid=2036837]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 178ms |
0 / 0 |