Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Оптимизация окна программы

Автор: mauar
Дата сообщения: 15.03.2007 15:39
Люди, дайте совет плиз :
Программа написанна на дельфи 7, при изменении режима экрана у программы сьезжают окна, кнопки и другие компоненты размещенные на форме, как оптимизировать окна программы под разные разрешения экрана, сворачивания программы или при изменении размера окна?
Автор: dneprcomp
Дата сообщения: 16.03.2007 00:48
mauar
Проблема ресайза решается достаточно муторно. Необходимо изменять координаты и размеры всех контролов вручную. Надо также изменять размер фонта, т.к. техт может при каких-то размерах элементарно не поместиться.
Простейшее решение - оптимизировать скрин под часто используемую резолюцию и запретить изменения размера. Тогда при увеличении резолюции ничего изменять не придется. При уменьшении резолюции размер скрина все-равно не меняем. Просто добавляем вертикальную и/или горизонтальную прокрутки. Проверку на резолюцию ставим в загрузку программы и на активизацию.
Автор: virpool
Дата сообщения: 16.03.2007 00:57
mauar
Реализовать такое на делфи очень замуточно и муторно) Согласен с dneprcomp
Поэтому эту проблему можно решить, просто запретив изменять размеры формы, а например оставить активной только кнопку сворачивания окна... Если нужно подетальнее там или код какойто, обращайся
Автор: dneprcomp
Дата сообщения: 16.03.2007 03:53
virpool mauar
Можно даже оставить все кнопки(maximize, close). Просто на ресайзе тут же возвращать на желаемый размер.
Автор: FireZone
Дата сообщения: 16.03.2007 18:09
Господа, вы не пробовали использовать у контролов замечательное свойство Anchors?
Автор: virpool
Дата сообщения: 16.03.2007 18:15
FireZone
Точно) Я и не подумал... Прими респект
Автор: mauar
Дата сообщения: 31.08.2007 19:01

Цитата:
Господа, вы не пробовали использовать у контролов замечательное свойство Anchors?

У этого свойства, неcколько параметров, какой у него параметр за что отвечает?
Автор: FireZone
Дата сообщения: 01.09.2007 00:57

Цитата:
У этого свойства, неcколько параметров, какой у него параметр за что отвечает?
Их наименования говорят за себя. Они "привязывают" контрол к соответствующим краям своего родителя.
Автор: mauar
Дата сообщения: 03.09.2007 14:47
Что то у меня не получается, есть форма во весь экран, на ней размешенны компоненты, при изминении разрешения экрана, компоненты сьезжают.
Автор: mauar
Дата сообщения: 05.09.2007 15:10
Мне кто нибуть подскажет?
Автор: eLLoco
Дата сообщения: 05.09.2007 16:25
mauar

Цитата:
Что то у меня не получается, есть форма во весь экран, на ней размешенны компоненты, при изминении разрешения экрана, компоненты сьезжают.

если действительно нужна оптимизация формы под разные размеры, начинать надо с разбивки контролов по группам, каждую группу заключай, например, в TPanel, назначая Anchor'ы, потом эти TPanel'и группируй и опять заключай в TPanel'и с Anchor'ами и т.д. попутно задавай минимальную ширину/высоту контролам/панелям. продолжай, пока не останется одна панель, растянутая на всю форму.
работа довольно кропотливая - можно поискать библиотеки для Delphi по ключевым словам "layout, visual, automatic, runtime", может и найдешь чем облегчить жизнь себе. не найдешь - напиши нужные классы сам и сообщи об этом на руборде, думаю, что многие, включая меня, будут благодарны.

Цитата:
У этого свойства, неcколько параметров, какой у него параметр за что отвечает?

в Delphi встроена замечательная документация по VCL.

Цитата:
Мне кто нибуть подскажет?

незачем требовать, никто тебе не обязан отвечать, почитай.
Автор: mauar
Дата сообщения: 05.09.2007 17:39

Цитата:
Цитата:Что то у меня не получается, есть форма во весь экран, на ней размешенны компоненты, при изминении разрешения экрана, компоненты сьезжают.

если действительно нужна оптимизация формы под разные размеры, начинать надо с разбивки контролов по группам, каждую группу заключай, например, в TPanel, назначая Anchor'ы, потом эти TPanel'и группируй и опять заключай в TPanel'и с Anchor'ами и т.д. попутно задавай минимальную ширину/высоту контролам/панелям. продолжай, пока не останется одна панель, растянутая на всю форму.
работа довольно кропотливая - можно поискать библиотеки для Delphi по ключевым словам "layout, visual, automatic, runtime", может и найдешь чем облегчить жизнь себе. не найдешь - напиши нужные классы сам и сообщи об этом на руборде, думаю, что многие, включая меня, будут благодарны.

Большое спасибо, за совет.

Страницы: 1

Предыдущая тема: Perl Mail::POP3Client SSL Windows


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.