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

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

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

1.jpg
1.jpg (131.73 КБ) 1990 просмотров
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

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

Сообщение Дед Пахом »

Игорь Столяров писал(а): 05 Октябрь 2020, 7:36 Ожидания таковы, что текущий шрифт окна изменится, да и вообще-то размер окна тоже.
Почему не меняется размер шрифта окна ?
В документации к SETFONT и PROP:Font чёрным по белому написано почему.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

Дед Пахом писал(а): 05 Октябрь 2020, 17:38 SETFONT и PROP:Font чёрным по белому написано почему
Да я то прочитал ... Но всё равно, мне не понятно, почему я не могу просто в динамике сменить шрифт окна
(и всех контролов в нём, для которых не переопределён FONT()). Что это за целибат вообще такой ? :(
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Игорь Столяров писал(а): 05 Октябрь 2020, 19:01
Дед Пахом писал(а): 05 Октябрь 2020, 17:38 SETFONT и PROP:Font чёрным по белому написано почему
Да я то прочитал ... Но всё равно, мне не понятно, почему я не могу просто в динамике сменить шрифт окна
(и всех контролов в нём, для которых не переопределён FONT()). Что это за целибат вообще такой ? :(
Наверно, окно ломается. Смысла никакого нет в этой операции.
Игорь Столяров писал(а): 05 Октябрь 2020, 17:08 В общем-то ленту (как AppFrame) настраивать и не нужно.
Ну как не нужно? Пункты меню и подписи к иконкам мелкие. Если нет иконок, то тоже всё мелко.
Такое ощущение, что заказчики издеваются.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Шрифт 8 в меню и шрифт 10 в рабочих окнах нормально смотрятся. А вот если в меню 8, а в рабочих 12, уже диссонанс будет. Но в такой ситуации можно оставить 8+10, и в винде увеличить общий масштаб.
Можно и меню попробовать через anyfont масштабировать. В целом это работает, видимо, какие-то особенности надо учесть.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 05 Октябрь 2020, 19:27 Шрифт 8 в меню и шрифт 10 в рабочих окнах нормально смотрятся.
Вот это всё - очень относительно.

1. Сами шрифты имеют разный размер при одном и том же FontSize.
Тот же "Segoe UI" выше и крупней "Arial" - это не сложно увидеть.

2. Мониторы и масштаб рабочего стола.
Меня больше всего бесят пользователи с Full HD монитором, потому что они делятся на 2 категории:
- те кому впаяли ноут 15-17 дюймов и включили масштаб рабочего стола 150%
(иначе там реально нифига ничего невозможно прочесть)
- и те кто купил нормальный моник от 21 дюйма и больше.

Первые жалуются что окна не влазят в экран и можно ли их уменьшить, вторые, что окна
маленькие и можно ли увеличить для улучшения читабельности, места-то свободного полно на экране ... :(
Их вой разбавляют владельцы кинескопных мониторов с отношением сторон 3:4 (есть ещё и такие)
у которых не видно кнопок справа и владельцы нетбуков с разрешением 1280x600, у которых постоянно
не видно внизу кнопок в формах. :( Жаль нет ружья. (C) Король и Шут. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Я с разными шрифтами экспериментировал. Но так и оставил MS Sans Serif. Может, просто по привычке. В принципе, он везде неплохо смотрится на мое восприятие.

При поддержки разрешения 800х600 проблема только одна одна - мелко на высоких разрешениях. Пока решил программное увеличение до 10, на разрешении 1024х768 программа так же глазасто выглядит, как со шрифтом 8 на разрешении 800х600. С большими мониторами пока не обращались, надеюсь, получится решить средствами винды.

Вообще, как мне представляется, лучше не напрямую размеры шрифтов указывать, а ввести что-то типа понятия "стиль". А для каждого стиля подразумевать определенный базовый размер шрифта и возможность ручной рихтовки в узких моментах.
Вот, для примера, окно на разрешении 800х600 и оно же на разрешении 1024х768. Использует этот подход. Окно распахнуто на весь экран монитора (режим pos системы).
window1.jpg
window1.jpg (146.99 КБ) 1971 просмотр
window2.jpg
window2.jpg (192.33 КБ) 1971 просмотр
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Вот и я говорю - пользователи издеваются. Я, конечно, считаю, что 150% - это перебор. При каком бы то ни было разрешении. И понятно, что более-менее насыщенный экран не влезет туда. Ну и пусть идут лесом. В конце концов фрейм становится с прокруткой, вот и пусть крутят.
А пользователи, да, всегда могут сказать - а вот в браузере масштаб настраиваемый.
В своё время прочитал несколько статей по поводу Винды, пикселей, шрифтов, но так и нет у меня мнения, почему программеру приходиться думать об этом.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

kreator писал(а): 05 Октябрь 2020, 22:58 Я, конечно, считаю, что 150% - это перебор
А все другие масштабы, к сожалению, приводят к размытости шрифта на светодиодных мониторах. :(
finsoftrz писал(а): 05 Октябрь 2020, 22:46 Но так и оставил MS Sans Serif.
Убогий он в Windows 10.
То ли там какой-то совсем ископаемый релиз для совместимости, то ли сама Win10 его так отображает.
Мы поэтому, как появилась Win10 свалили на ARIAL, ну а сейчас уже перешли на рекомендованный Microsoft Segoe UI
(который, к слову сказать, через попу отображается на старых терминальных серверах)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Я пробовал через anyfont переключать шрифт на segoe ui, но не очень хорошо получалось. Ширина букв там уже. И на вин 7 с отключенными темами не очень смотрелось.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 06 Октябрь 2020, 0:13 Ширина букв там уже
Это относительно MS Sans Serif, а с Arial такая же.
Я вообще не заморачивался с этими ролевыми играми "нравится - не нравится".
Главный четланин (Microsoft) сказал, что для интерфейса пацаки в своём ПО юзают "Segoe UI" - значит "Segoe UI" ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 05 Октябрь 2020, 9:37 Anyfont использует те же операторы, что и Вы в ручном коде.
Ещё раз спасибо. Очень приятный в работе прибамбас.
Действительно очень хорошо, что всё в открытом коде и понятно как работает.
Кстати, в перспективе, можно отсабкласить и реализовать через него другую мою мечту -
современные темы оформления окон, типа: тёмная, светлая, контрастная, нежно-розовая и т.д. :)

Как я понял, у нас не доступен текущий релиз AnyFont 2020 г. ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

Т.к. решением вопроса стал 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
Вот теперь всё хорошо (в том смысле, что красиво !) :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

А по какому принципу происходит выбор иконки, автоматически в зависимости от размера шрифта кнопки?
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

Сообщение Игорь Столяров »

finsoftrz писал(а): 12 Октябрь 2020, 9:14 автоматически в зависимости от размера шрифта кнопки
Нет. Автоматически от размера кнопки (как правило высоты Prop:Height).
Причём этот процесс в Clarion не управляем. Т.е. если иконка содержит картинки 16x16 и 32x32,
то нельзя (или по крайне мере я не знаю как) принудительно показать на кнопке всегда 32x32.
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить