:: Обсуждаем проекты
масштабирование форм VFP9. Обсуждение конкретного решения
AlexSSS
Автор

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
Перемещено из форума Visual Foxpro, Foxpro for DOS

скачать с forum.foxclub.ru

Данное решение предназначено для изменения масштаба форм в VFP9.
Предполагается, что в форме используется один шрифт одного размера.
В этом случае масштабирование пройдет максимально красиво.
При использовании нескольких шрифтов и размеров может потребоваться доводка класса.

Принцип действия.
Класс реализован на основе стандартного класса Combobox
В INIT класса прописаны наименование и размер основного шрифта формы.
При выборе любого другого размера шрифта в Combobox, класс
1. Запоминает первоначальные значения Anchor для всех обьектов формы
2. Изменяет Anchor на 240 (relative на все стороны)
3. Изменяет размер шрифта на выбранный
4. Пропорционально изменению размеров (средней ширины и высоты) шрифта, изменяет размеры формы. При этом форма автоматически масштабируется.
5. Восстанавливает исходные значения Anchor

Применение.
Скачайте и распакуйте архив
Поместите на форму обьект Resizer из распакованного класса
В Resizer.Init замените имя и размер основного шрифта, используемого в форме, на свой
Запустите форму и выберите в Resizer-е размер шрифта для формы

Примечания.
В большинстве моих проектов в формах используется один основной шрифт, Arial,9
Именно он и прописан по умолчанию в Resizer.Init
Формы нормамально читаются при разрешениях 800*600 и 1024*768
Однако сейчас стали закупаться LCD дисплеи с родным разрешением 1200*1024, где формы становятся очень мелкими и плохочитаемыми. В первую очередь, решение предназначено для адаптации форм под любое произвольное разрешение экрана.

Замеченные некорректности.
иногда не корректно масштабируются OptionGroup при Style=Graphical
не корректно масштабируется Grid, если на момент масштабирования в нем не прописан RecordSource

вполне возможно, что потребуется некоторая доводка кода под конкретный стиль программирования
Однако, класс получился ОЧЕНЬ простым, доработать его под свои конкретные нужды можно достаточно просто
Кстати, побочным эффектом решения стала возможность не только увеличивать форму под бОльшее разрешение, но и корректно уменьшать ее для меньших разрешений. Как вариант, это может потребоваться, если разработчик работает на большом разрешении, скажем 1280*1024, а прога должна работать и под 800*600

PS. Благодарю всех, кто принял участие в первоначальном обсуждении проблемы
forum.foxclub.ru



Отредактировано (07.11.05 09:41)


------------------
Чудес не бывает, бывают кривые руки
Ratings: 0 negative/0 positive
Re: масштабирование форм VFP9. Обсуждение конкретного решения
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Выложи в решения, там и будут комментарии, если хочешь онлайнового обсуждеия, то для этого есть специальный раздел "Обсуждем проекты". Тебя последнее время тянет куда-=то не туда, то баги переноса обсуждать в курилке - то решение выкладываешь не в решения. Повторюсь, правила для всех одинаковые ;)




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: масштабирование форм VFP9. Обсуждение конкретного решения
AlexSSS
Автор

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
piva, спасибо за замечание ;o)
бум исправляться. Уже сам чувствую, что в чужом монастыре свои порядки наводить не стоит, хоть иногда и хочется ;o)
А в решения перемещу, если решение действительно окажется нужным и другим.
Ratings: 0 negative/0 positive
Re: масштабирование форм VFP9. Обсуждение конкретного решения
AlexSSS
Автор

Сообщений: 6113
Откуда: Tallinn, Estonia
Дата регистрации: 19.09.2005
последняя версия класса



Отредактировано (06.11.05 22:15)


------------------
Чудес не бывает, бывают кривые руки
Ratings: 0 negative/0 positive
Re: масштабирование форм VFP9. Обсуждение конкретного решения
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Никто никогда не скажет что решение "ненужное" другое дело насколько оно востребовано, так что больше решений разных




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 2 (Гостей: 2)

© 2000-2024 Fox Club 
Яндекс.Метрика