Добрый день!
Столкнулся с такой проблемой: в windows 11 у пользователя не корректно отображается шрифт ms sans serif использованный мной во всех визуальных контролах программы. Манипуляции в самой операционной системе описанные на просторах интернета ни к чему не привели. Пользователь просит заменить шрифт в программе. Во первых это трудоёмкий процесс, т.к. в программе очень много визуальных элементов и вкладок, а во вторых нет гарантии, что у него с другим шрифтом не будет такой же проблемы. Прошу подсказать как можно быстро заменить шрифт во всех визуальных элементах (если это возможно конечно)? И, возможно ли реализовать в программе оперативное изменение шрифта? В программе очень много вкладок и протянуть связи к каждому элементу проблематично, а менеджер шрифтов работает с конкретным элементом.
P.S. Попробовал заменой в текстовом редакторе изменить в файле sha, но таким способом не во всех местах заменяет.
Редактировалось 1 раз(а), последний 2023-01-17 20:32:28
Этот топик читают: Гость
Ответов: 413
Рейтинг: 57
|
|||
карма: 0 |
|
Ответов: 4628
Рейтинг: 749
|
|||
Нужно прописать в файле WinControl.ini значение по умолчанию для свойства Font.
Я делал, но сейчас не подскажу конкретно что надо писать. В результате новое значение будет прописываться во всех элементах в каждой схеме, что мне не понравилось. А возможно я прописывал не в ini, а в Codegen.dpr с перекомпиляцией кодогенератора. |
|||
карма: 26 |
|
Ответов: 2236
Рейтинг: 676
|
|||
Poputchik писал(а): И, возможно ли реализовать в программе оперативное изменение шрифта?Как вариант: Изменение свойств интерфейса А свойство: ParentFont=Использовать шрифт родительского компонента не подходит? Poputchik писал(а): Попробовал заменой в текстовом редакторе изменить в файле sha, но таким способом не во всех местах заменяет.Как вариант: 1. Открыть sha как строки. 2. В цикле перебрать все строки. 3. Если строка начинается с "Add(" (пробелы в урну). 4. По названию элемента (тот что за Add) открываем ini файл (из папки conf). 5. Если в ключе Inherit есть упоминание WinControl. 6. То добавить строку от найденой через одну (после строки "{") с данными шрифта Font=[Courier New,10,15,8421376,204]. 7. Сохранить отредактированные строки как sha файл. Это по памяти. Схему сделать пару минут. Если есть упоминания о Font, то удалить эти строки. При желании можно дополнить схему так, чтоб к примеру кнопкам отдельный шрифт задавался. Редактировалось 4 раз(а), последний 2023-01-17 22:52:20 |
|||
карма: 11 |
|
Ответов: 413
Рейтинг: 57
|
|||
sla8a,
А свойство:
ParentFont=Использовать шрифт родительского компонента не подходит? Это свойство меняет не только имя шрифта во всех дочерних элементах, но и размер, цвет, начертание. Т.е. в тех местах где шрифт был подчёркнутый или жирный, перестанет быть таковым по образцу родительского компонента. Как вариант: Изменение свойств интерфейса
Спасибо. Попробую. |
|||
карма: 0 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Poputchik, мне даже немного стыдно за коллег. ~10-15 минут работы.
Удачи.
Редактировалось 3 раз(а), последний 2023-01-18 17:02:26 |
|||
карма: 4 |
| ||
Голосовали: | Poputchik, tig-rrr, 3042 |
Ответов: 413
Рейтинг: 57
|
|||
andrestudio, Спасибо! Здоровски работает, действительно можно использовать и при компиляции delphi и FPC, единственное ограничение это Rush-Контролы, на них он не совсем корректно действует.
|
|||
карма: 0 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Poputchik писал(а): единственное ограничение это Rush-КонтролыPoputchik, ну уж не обессудте сударь. Я их не использую (есть свои альтернативные) |
|||
карма: 4 |
|
Ответов: 1926
Рейтинг: 172
|
|||
andrestudio, а зачем там
|
|||
карма: 9 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Ну не причесал после оптимизации как и fCount.
Так то дарёному коню в зубы не смотрят Мог бы просто пройти мимо, и читать дальше различные перлы по этой проблеме |
|||
карма: 4 |
|
Ответов: 1926
Рейтинг: 172
|
|||
Да ладно, я ж плюсанул
|
|||
карма: 9 |
|
10