адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
Есть куча программ, разработанных под расширение дисплея 800*600 и 1024*768
Основной шрифт Arial, 9 AllForms.ScaleMode = 3 (Pixels) В результате на обоих расширениях все прекрасно читается и проблем не было. Сейчас начали приобретать ЖКИ мониторы, стандартное расширение 1200*1024 Все формы становятся мелкими и плохочитаемыми Проограммы надо адаптировать, чтобы нормально работали под произвольными расширениями, начиная с 800*600 Как это можно реализовать c минимальными затратами времени? Предполагаю, что надо перейти на AllForms.ScaleMode = 0 Раньше с ним не работал, попробовал на работающей форме просто переставить ScaleMode - жуть, все поназалазило друг на друга, особенно обьекты с контейнерами PS. Resize не интересует Отредактировано (04.11.05 10:00) ------------------ Чудес не бывает, бывают кривые руки |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
тогда пиши новые формы |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
> тогда пиши новые формы
под каждое расширение свою форму? Возможно я неправильно высказался про Resize не интересует возможность руками растягивать форму. хотя вариант прописать ресайз для всех обьектов и в INIT в зависимости от разрешения дисплея увеличивать форму на заданный коэффициент в INIT в зависимости от разрешения дисплея перепрописывать размер всех шрифтов может оказаться вполне рабочим как вообще идеалогически правильно писать формы под произвольные расширения? Причем, чтобы в будущем они нормально работали под новыми большими разрешениями. Уже видел ноутбук с wide монитором 1800*1200 Отредактировано (04.11.05 11:15) ------------------ Чудес не бывает, бывают кривые руки |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
обсуждалось не раз
иди в Поиск |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
вначале я как раз прошерстил поиск
ничего толком не нашел. Основная проблема там обычно противоположная, как засунуть прогу в 640*480 Отредактировано (04.11.05 11:23) ------------------ Чудес не бывает, бывают кривые руки |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
OlegP Сообщений: 37 Дата регистрации: 15.03.2004 |
Форма создается под какое-то базовое разрешение монитора, допустим 600*800.
При переходе на большее разрешение в Init размеры увеличиваются на коэффициент и подбирается соответствующий размер шрифтов - это достаточно просто. Для некоторых клиентов с хорошим зрением увеличение и не требуется, им и так все видно. Переход на меньшее разрешение достаточно проблематичен и ,как правило,требует переделывать форму. В свое время лучше я ничего придумать не смог и остановился на таком варианте. |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
а в Решенияз смотрел?
|
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
> а в Решенияз смотрел?
Ааа, Семен Семеныч! ;o) спасибо, посмотрю |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
Если дальше будешь спрашивать тут, укажи версию фокса
|
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
VFP9
а спрашивать еще точно буду ;o) то, что пока нашел, это разные ресайзы свой ресайз у меня был еще в VFP7 сейчас Anchor но это напрямую не подходит, надо изменять и размер шрифта. Размер шрифта обьектах должен несколько узменять высоту. По отдельности вроде все понимаю, но как все это обьединить - чего-то не пойму. |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
Penner Сообщений: 4102 Откуда: Muenster Дата регистрации: 26.04.2002 |
в решениях был вариант и с шрифтами
|
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
> в решениях был вариант и с шрифтами
вариант Е.В.Белюковой у меня сразу не пошел, скорее всего из-за накладок с кучей своих классов у меня складывается ощущение, что гораздо быстрее и надежнее написать свое собственное решение, чем разбираться с чужим + потом еще его адаптировать под свои проекты. Поэтому меня больше интересуют даже не конкретные решения, а принципы, на которых они построены Вариант Белюковой обязательно поразбираю потом поподробнее, судя по отзывам, это одно из наиболее удачных решений |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
посмтори там forum.foxclub.ru может подойдет
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
2 piva
спасибо, посмотрю на выходных повнимательнее. Сейчас кажется перспективным такой вариант 1. используется существующая форма, за редким исключением используется Arial, 9 (это что уже есть) 2. на все обьекты назначается relative anchor на все четыре стороны 3. на все обьекты назначается шрифт произвольной величины (10,11,12,13,14) и одновременно с эти по высчитанным коэффициентам увеличивается размер формы. Все обьекты при этом по относительным привязкам (relative anchor) увеличивают свой размер. это будет использоваться для изменения размера формы, контролов и размера шрифта. Если необходимо, чтобы потом работал ресайз выполненный через Anchor, то 1. запоминаются установленный Anchor, меняется размер шрифта и Anchor 2. Меняется размер формы 3. Восстанавливается первоначальный Anchor, выставленный для ресайза Отредактировано (04.11.05 13:46) ------------------ Чудес не бывает, бывают кривые руки |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
проверил свой вариант - работает совершенно великолепно. Для проверки использовал достаточно сложную форму (grid, pageframe c 5-ми закладками, на каждой по паре десятков обьектов, включая контейнеры). Мало того, что все нормально работает, при этом и внешний вид не страдает.
В качестве коэффициентов для изменения размера формы использовал отношение FONTMETRIC(6) и FONTMETRIC(1) существующего шрифта формы к размеру устанавливаемого фонта. Полученный класс не требует вмешательства в код существующей программы, достаточно просто его бросить на форму Доведу класс до ума, опубликую и здесь для проверки |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
спасибо всем принявшим обсуждение в этом топике. Это реально помогло мне в поиске решения своей проблемы.
На этом ветку можно считать закрытой, обсуждение полученного решения переношу в новую ветку forum.foxclub.ru Отредактировано (07.11.05 09:59) ------------------ Чудес не бывает, бывают кривые руки |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi AlexSSS!
Вообще-то в винде есть специальная настройка - задаётся DPI для монитора - и тогда во всех программах шрифты пропорционально увеличатся - т.е. тот-же Arial 9 будет в пикселях занимать больше (или меньше - тут уж как настроить) места. И тогда тебе останется только заняться "компенсированием" этой настройки - т.е. соответственно её менять размеры контролов (а сам размер шрифта не трогать). По умолчанию DPI=96. Также неплохой вариант - это считать текущие настройки темы винды (там есть несколько интересных элементов) и поменять размеры шрифтов согласно тем настройкам. IMHO это будет наиболее правильное и соответствующее духу винды решение. ------------------ WBR, Igor |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
2 Igor Korolyov
про DPI знаю. Тоже был уверен, что работает, как ты описываешь ставлю 120 DPI вместо 96, перегружаюсь. Все замечательно увеличилось. За исключением фоксовских форм - они остались такими же. как и были. Везде используется стандартный Arial, 9 в чем дело, так и не понял. Проверял на двух WinXP и одном Win98 > Также неплохой вариант - это считать текущие настройки темы винды > (там есть несколько интересных элементов) и поменять размеры > шрифтов согласно тем настройкам. Сейчас как раз работаю над вариантом, который позволит, в том числе, и устанавливать произвольный шрифт для форм. Просто заменить шрифты - не проблема, проблема правильно отмасштабировать форму под эти шрифты. |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi AlexSSS!
Формы как и прочие контролы КОНЕЧНО не должны менять свои размеры при смене этой настройки! Она ТОЛЬКО на шрифты распространяется - т.е. делает Arial,9 визуально большим (при этом если не стоит AutoSize = .T. то надпись вполне может обрезаться!). Вот твоя задача и состоит в том чтобы позиции/размеры контролов скоординировать с новыми размерами "текстов". Насчёт "своей" установки шрифтов для форм - можно конечно и так, но можно и из текущей темы виндов вынуть инфу о шрифтах. От задачи зависит, от принятых подходов к созданию UI - если ты стремишься следовать стилю винды - то и цвета, и шрифты и прочие параметры стоит брать из самой винды - иначе конечно придётся делать свои диалоги настройки... ------------------ WBR, Igor |
Re: адаптация программы под бОльшее расширение монитора | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
> Насчёт "своей" установки шрифтов для форм - можно конечно и так,
> но можно и из текущей темы виндов вынуть инфу о шрифтах. вначале сделаю масштабирование формы под произвольный шрифт, а откуда его взять, из стиля винды или назначить свой - это уже дело второе. > иначе конечно придётся делать свои диалоги настройки... пока хватает заранее установленных предустановок. Более того, это застраховывает программу от дебильных настроек десктопа некоторых пользователей. И я уверен, что, что бы пользователь не поставил, прога будет выглядеть так, как я ее задал ;o) Впрочем, соглашусь, что это расходится с идеалогией винды ;o) Отредактировано (07.11.05 21:01) ------------------ Чудес не бывает, бывают кривые руки |
© 2000-2024 Fox Club  |