Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Траблы с масштабированием формы (для слепых)  (Прочитано 6136 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« : 16-04-2007 14:00 » 

Наверно все знают, что в винде есть такая фича для слабозрячих, которая масштабирует шрифты (не путать с размером дефолтного шрифта!) во всех приложениях. К примеру, в приложении установлено 10 пикселей, а будет автоматически изменяться на 12.5. В Builder-е в форме и всех объектах размеры шрифтов устанавливаются явно, и измение дефолтного шрифта в системе влияет лишь на заголовки окон. А вот изменение масштаба приводит к изменению всех системных метрик, что тянет за собой увеличение штифтов и многих элементов GUI. Базовый масштаб - 96dpi, след. шаг - 120dpi (125%).

Трабла в том, что при этом форма (TForm) не меняет размер, а вот элементы формы его меняют и в некоторых формах наползают друг на друга.

Вопрос: как бороться?

Я полагаю, что нужно увеличить размер окна, но при этом элементы тянутся за якорями (anchors). У меня один элемент привязян к T L R и второй к T R. Первый наезжает на второй...
« Последнее редактирование: 16-04-2007 17:54 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 17-04-2007 09:30 » 

На масштабирование, как оказалось, влияют параметры Scaled и PixelsPerInch. Причем пока не могу понять, как нужно делать. Мне нужно, чтобы форма изменяла размер, а размер меняют только элементы формы.

При Scaled = yes и PixelsPerInch = 96 на машине с масштабом 120dpi элементы наползают друг на друга, а в любых других комбинация - нет, но и шрифты меняют размер как-то избирательно.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 17-04-2007 14:03 » 

Как оказалось такая трабла только с Sizable формами - фиксированные масштабируются правильно.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
DemonicAlligator
Гость
« Ответ #3 : 17-04-2007 15:09 » 

В JVCL был компонент, корректно масштабирующий элементы на форме при изменении размера... посмотри  jvgFixFont и jvgSmallFontsDefense
Хоть и не С++ но идею посмотреть можно...
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 17-04-2007 20:31 » 

Синий Аллигатор, спасибо. А то я уж предлагал на работе купить очки нуждающимся - это будет значительно дешевле, чем время, затраченное на решение задачи. Ага
Кстати, это штука в BC6 будет работать? Я на более высокую версию переходить пока не могу - компоненты и исходники тянут. Только в январе с BC5 на BC6 перевел проект. Глюков при этом вылезло предостаточно, а сколько еще будет...
BC6, если я правильно помню, примерно соответствует BD7.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
DemonicAlligator
Гость
« Ответ #5 : 19-04-2007 06:36 » 

Ну, пакеты для BC6 в комплекте 3.31 идут... а вот их работоспособность извини, проверить не смогу Улыбаюсь
Помница, в своё время я компонент сваял на основе формы, который масштабировал компоненты самостоятельно... ох и геморрой же был Улыбаюсь
ссылка на jvcl - http://jvcl.sf.net  Улыбаюсь
« Последнее редактирование: 19-04-2007 07:22 от Синий Аллигатор » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines