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

Clarion, Clarion 7

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

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

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

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

Привет всем !

Это снова я и у меня опять детский вопрос. :)
Есть приложение ABC и в нём обычное MDI окно (размер шрифта 11).
Выполняем:

Код: Выделить всё

  ! Open the window
  SELF.Open(Window)  ! Open window
  ! [Priority 8005]
  
  SETFONT(Window,,14)
  !Window{Prop:FontSize} = 14  ! Ещё один вариант
И ... ничего не происходит. :( Совсем. Абсолютно. Разве так должно быть ?
Ожидания таковы, что текущий шрифт окна изменится, да и вообще-то размер окна тоже.
Почему не меняется размер шрифта окна ? Заранее спасибо !
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

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

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

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

finsoftrz писал(а): 05 Октябрь 2020, 7:51 А размер контролов и окна как раз изменяет anyfont.
Вот ! Я же потому и попросил AnyFont ... ;) Займусь !
Но осадочек-то остаётся. Зачем оператор SetFont(Window) если он ничего не делает ?
Чего-то я здесь не понимаю ... :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

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

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

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

Кстати, интересная информация по этому вопросу в FAQ AnyFont:
The controls on my MDI child window don't resize ?

Answer: This is probably caused by setting the font directly in the child window.
The correct way of setting the font in an MDI application is to do it in the MDI menu.
Т.е. получается, что если мы задаём размер шрифта в MDI окне ... то изменить его уже не можем ? Во блин новости ! :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Anyfont использует те же операторы, что и Вы в ручном коде. Просто вычисляет и применяет пропорции. Вы можете модифицировать в рантайм свои контролы как обычно. Просто надо понимать принцип работы. Не все можно корректно сделать автоматически. Поэтому в anyfont можно для отдельных контролов отключать изменение размера и шрифта. Это только в специфических случаях надо, в стандартных ситуациях все отрабатывает автоматически. Речь про изменение размера шрифта. С типом шрифта смена не очень хорошо может проходить, так как там разное между буквенное расстояние.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

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

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

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

finsoftrz писал(а): 05 Октябрь 2020, 8:58 Вы скорее всего, сможете свое приложение запустить и на разрешении 800х600.
Удивительно, но жись ставит задачу с точностью до наоборот.
Состоятельные, но уже подслеповатые Заказчики требуют, что бы программы полностью (в буквальном смысле)
использовали их инвестиции в большие мониторы с разрешением Full HD. Я же не зря в вопросе пытался сменить
размер шрифта с 11 на 14. Т.е. окна будем растягивать, а не сжимать ... ;) Будь проклята эта бедность ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Я с в 8 до 10 подключал. Все хорошо работает.
Попробуйте с с11 на таком мониторе поработать, если есть возможность. А то я уже хотел большой телевизор поставить на пробу. :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Только такой нюанс. Я поднимал размер шрифта в дочерних окнах. Во фрейме как-то коряво с меню получалось, но мне это особо не надо было, не стал докапываться.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Интересно, а как подслеповатые заказчики в Office работают? Там нет широких возможностей по изменению размера шрифта.
И чем не нравиться изменение общего масштаба Винды?
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Щурутся. :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

В экселе масштабирование есть.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Я имею ввиду ленту. Вроде никаких настроек.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

У меня была ситуация, когда большинство программ ориентируются на размер шрифта 10, а у меня 8. Если увеличивать средствами винды, то пользователям будет не комфортно работать в других программах. Если оставлять 8, то для кого-то мелковато, кому-то, наоборот, нравится. Поэтому была подключена возможность увеличения шрифта с 8 до 10 средствами настройки программы. Причем только дочерних окон. Само меню фрейма, тулбар, тулбоксы остались без изменения, это не напрягает, скорее наоборот. Расчет был такой, что для больших мониторов будут уже масштабировать средствами винды.
C6/C11, ШВС, tps/btrieve.
Ответить