Страница 2 из 4

Шрифт для окна

Добавлено: 05 Октябрь 2020, 17:08
Игорь Столяров
kreator писал(а): 05 Октябрь 2020, 16:29 Я имею ввиду ленту. Вроде никаких настроек.
В общем-то ленту (как AppFrame) настраивать и не нужно.
Там либо настраиваемые кнопки-картинки с нужными операциями, либо понятное меню.
Настраивать надо окнам с содержанием, с которым идёт работа.
В Microsoft Office это есть (на примере OutLook):

1.jpg
1.jpg (131.73 КБ) 2017 просмотров

Шрифт для окна

Добавлено: 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
window1.jpg (146.99 КБ) 1998 просмотров
window2.jpg
window2.jpg (192.33 КБ) 1998 просмотров

Шрифт для окна

Добавлено: 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.