масштабирование форм 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) ------------------ Чудес не бывает, бывают кривые руки |
Re: масштабирование форм VFP9. Обсуждение конкретного решения | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Выложи в решения, там и будут комментарии, если хочешь онлайнового обсуждеия, то для этого есть специальный раздел "Обсуждем проекты". Тебя последнее время тянет куда-=то не туда, то баги переноса обсуждать в курилке - то решение выкладываешь не в решения. Повторюсь, правила для всех одинаковые ;)
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: масштабирование форм VFP9. Обсуждение конкретного решения | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
piva, спасибо за замечание ;o)
бум исправляться. Уже сам чувствую, что в чужом монастыре свои порядки наводить не стоит, хоть иногда и хочется ;o) А в решения перемещу, если решение действительно окажется нужным и другим. |
Re: масштабирование форм VFP9. Обсуждение конкретного решения | |
---|---|
AlexSSS Автор Сообщений: 6113 Откуда: Tallinn, Estonia Дата регистрации: 19.09.2005 |
последняя версия класса
Отредактировано (06.11.05 22:15) ------------------ Чудес не бывает, бывают кривые руки |
Re: масштабирование форм VFP9. Обсуждение конкретного решения | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Никто никогда не скажет что решение "ненужное" другое дело насколько оно востребовано, так что больше решений разных
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
© 2000-2024 Fox Club  |