Страница 2 из 4
Шрифт для окна
Добавлено: 05 Октябрь 2020, 17:08
Игорь Столяров
kreator писал(а): ↑05 Октябрь 2020, 16:29
Я имею ввиду ленту. Вроде никаких настроек.
В общем-то ленту (как AppFrame) настраивать и не нужно.
Там либо настраиваемые кнопки-картинки с нужными операциями, либо понятное меню.
Настраивать надо окнам с содержанием, с которым идёт работа.
В Microsoft Office это есть (на примере OutLook):
- 1.jpg (131.73 КБ) 2137 просмотров
Шрифт для окна
Добавлено: 05 Октябрь 2020, 17:38
Дед Пахом
Игорь Столяров писал(а): ↑05 Октябрь 2020, 7:36
Ожидания таковы, что текущий шрифт окна изменится, да и вообще-то размер окна тоже.
Почему не меняется размер шрифта окна ?
В документации к SETFONT и PROP:Font чёрным по белому написано почему.
Шрифт для окна
Добавлено: 05 Октябрь 2020, 19:01
Игорь Столяров
Дед Пахом писал(а): ↑05 Октябрь 2020, 17:38
SETFONT и PROP:Font чёрным по белому написано почему
Да я то прочитал ... Но всё равно, мне не понятно, почему я не могу просто в динамике сменить шрифт окна
(и всех контролов в нём, для которых не переопределён FONT()). Что это за целибат вообще такой ?
Шрифт для окна
Добавлено: 05 Октябрь 2020, 19:18
kreator
Игорь Столяров писал(а): ↑05 Октябрь 2020, 19:01
Дед Пахом писал(а): ↑05 Октябрь 2020, 17:38
SETFONT и PROP:Font чёрным по белому написано почему
Да я то прочитал ... Но всё равно, мне не понятно, почему я не могу просто в динамике сменить шрифт окна
(и всех контролов в нём, для которых не переопределён FONT()). Что это за целибат вообще такой ?
Наверно, окно ломается. Смысла никакого нет в этой операции.
Игорь Столяров писал(а): ↑05 Октябрь 2020, 17:08
В общем-то ленту (как AppFrame) настраивать и не нужно.
Ну как не нужно? Пункты меню и подписи к иконкам мелкие. Если нет иконок, то тоже всё мелко.
Такое ощущение, что заказчики издеваются.
Шрифт для окна
Добавлено: 05 Октябрь 2020, 19:27
finsoftrz
Шрифт 8 в меню и шрифт 10 в рабочих окнах нормально смотрятся. А вот если в меню 8, а в рабочих 12, уже диссонанс будет. Но в такой ситуации можно оставить 8+10, и в винде увеличить общий масштаб.
Можно и меню попробовать через anyfont масштабировать. В целом это работает, видимо, какие-то особенности надо учесть.
Шрифт для окна
Добавлено: 05 Октябрь 2020, 20:56
Игорь Столяров
finsoftrz писал(а): ↑05 Октябрь 2020, 19:27
Шрифт 8 в меню и шрифт 10 в рабочих окнах нормально смотрятся.
Вот это всё - очень относительно.
1. Сами шрифты имеют разный размер при одном и том же FontSize.
Тот же "Segoe UI" выше и крупней "Arial" - это не сложно увидеть.
2. Мониторы и масштаб рабочего стола.
Меня больше всего бесят пользователи с Full HD монитором, потому что они делятся на 2 категории:
- те кому впаяли ноут 15-17 дюймов и включили масштаб рабочего стола 150%
(иначе там реально нифига ничего невозможно прочесть)
- и те кто купил нормальный моник от 21 дюйма и больше.
Первые жалуются что окна не влазят в экран и можно ли их уменьшить, вторые, что окна
маленькие и можно ли увеличить для улучшения читабельности, места-то свободного полно на экране ...
Их вой разбавляют владельцы кинескопных мониторов с отношением сторон 3:4 (есть ещё и такие)
у которых не видно кнопок справа и владельцы нетбуков с разрешением 1280x600, у которых постоянно
не видно внизу кнопок в формах.
Жаль нет ружья. (C) Король и Шут.
Шрифт для окна
Добавлено: 05 Октябрь 2020, 22:46
finsoftrz
Я с разными шрифтами экспериментировал. Но так и оставил MS Sans Serif. Может, просто по привычке. В принципе, он везде неплохо смотрится на мое восприятие.
При поддержки разрешения 800х600 проблема только одна одна - мелко на высоких разрешениях. Пока решил программное увеличение до 10, на разрешении 1024х768 программа так же глазасто выглядит, как со шрифтом 8 на разрешении 800х600. С большими мониторами пока не обращались, надеюсь, получится решить средствами винды.
Вообще, как мне представляется, лучше не напрямую размеры шрифтов указывать, а ввести что-то типа понятия "стиль". А для каждого стиля подразумевать определенный базовый размер шрифта и возможность ручной рихтовки в узких моментах.
Вот, для примера, окно на разрешении 800х600 и оно же на разрешении 1024х768. Использует этот подход. Окно распахнуто на весь экран монитора (режим pos системы).
- window1.jpg (146.99 КБ) 2118 просмотров
- window2.jpg (192.33 КБ) 2118 просмотров
Шрифт для окна
Добавлено: 05 Октябрь 2020, 22:58
kreator
Вот и я говорю - пользователи издеваются. Я, конечно, считаю, что 150% - это перебор. При каком бы то ни было разрешении. И понятно, что более-менее насыщенный экран не влезет туда. Ну и пусть идут лесом. В конце концов фрейм становится с прокруткой, вот и пусть крутят.
А пользователи, да, всегда могут сказать - а вот в браузере масштаб настраиваемый.
В своё время прочитал несколько статей по поводу Винды, пикселей, шрифтов, но так и нет у меня мнения, почему программеру приходиться думать об этом.
Шрифт для окна
Добавлено: 05 Октябрь 2020, 23:11
Игорь Столяров
kreator писал(а): ↑05 Октябрь 2020, 22:58
Я, конечно, считаю, что 150% - это перебор
А все другие масштабы, к сожалению, приводят к размытости шрифта на светодиодных мониторах.
finsoftrz писал(а): ↑05 Октябрь 2020, 22:46
Но так и оставил MS Sans Serif.
Убогий он в Windows 10.
То ли там какой-то совсем ископаемый релиз для совместимости, то ли сама Win10 его так отображает.
Мы поэтому, как появилась Win10 свалили на ARIAL, ну а сейчас уже перешли на рекомендованный Microsoft Segoe UI
(который, к слову сказать, через попу отображается на старых терминальных серверах)
Шрифт для окна
Добавлено: 06 Октябрь 2020, 0:13
finsoftrz
Я пробовал через anyfont переключать шрифт на segoe ui, но не очень хорошо получалось. Ширина букв там уже. И на вин 7 с отключенными темами не очень смотрелось.
Шрифт для окна
Добавлено: 06 Октябрь 2020, 6:43
Игорь Столяров
finsoftrz писал(а): ↑06 Октябрь 2020, 0:13
Ширина букв там уже
Это относительно MS Sans Serif, а с Arial такая же.
Я вообще не заморачивался с этими ролевыми играми "нравится - не нравится".
Главный четланин (Microsoft) сказал, что для интерфейса пацаки в своём ПО юзают "Segoe UI" - значит "Segoe UI" !
Шрифт для окна
Добавлено: 06 Октябрь 2020, 8:35
Игорь Столяров
finsoftrz писал(а): ↑05 Октябрь 2020, 9:37
Anyfont использует те же операторы, что и Вы в ручном коде.
Ещё раз спасибо. Очень приятный в работе прибамбас.
Действительно очень хорошо, что всё в открытом коде и понятно как работает.
Кстати, в перспективе, можно отсабкласить и реализовать через него другую мою мечту -
современные темы оформления окон, типа: тёмная, светлая, контрастная, нежно-розовая и т.д.
Как я понял, у нас не доступен текущий релиз AnyFont 2020 г. ?
Шрифт для окна
Добавлено: 12 Октябрь 2020, 8:27
Игорь Столяров
Т.к. решением вопроса стал Capesoft AnyFont - продолжу здесь его обсуждение, вдруг найдутся желающие.
AnyFont - простой и хороший продукт с 15 летней историей ... но не без странностей (возможно это совместимость).
Простой пример.
В окне на кнопках есть иконки. ICO файл может иметь внутри несколько разрешений картинки (16x16, 32x32 и т.д.)
AnyFont - это игнорирует, и иконки на кнопках останутся такого размера, как были на момент открытия окна.
В 2020 г. - это не бест, решаем вопрос следующей незамысловатой вставкой (пока нет смысла в субклассинге):
Код: Выделить всё
AnyFont.SetWindow PROCEDURE ...
...
self.inited = 1
ThisField# = 0 ! Перерисовка иконок после штатной отработки метода изменения шрифта
Loop
ThisField# = 0{Prop:NextField,ThisField#} ! По всем полям в окне
If ThisField# = 0 then Break
elsIf (ThisField#{Prop:InToolBar} <> True) and |
InList(ThisField#{Prop:Type},Create:Button,Create:Check,Create:Radio) and |
Clip(ThisField#{Prop:Icon}) <> ''
ThisField#{Prop:Icon} = ThisField#{Prop:Icon}
end
end
Вот теперь всё хорошо (в том смысле, что красиво !)
Шрифт для окна
Добавлено: 12 Октябрь 2020, 9:14
finsoftrz
А по какому принципу происходит выбор иконки, автоматически в зависимости от размера шрифта кнопки?
Шрифт для окна
Добавлено: 12 Октябрь 2020, 9:20
Игорь Столяров
finsoftrz писал(а): ↑12 Октябрь 2020, 9:14
автоматически в зависимости от размера шрифта кнопки
Нет. Автоматически от размера кнопки (как правило высоты Prop:Height).
Причём этот процесс в Clarion не управляем. Т.е. если иконка содержит картинки 16x16 и 32x32,
то нельзя (или по крайне мере я не знаю как) принудительно показать на кнопке всегда 32x32.