|
Модераторы: Snowy, MetalFan, bems, Poseidon |
|
PaWeLL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.11.2009 Репутация: нет Всего: нет |
Есть форма с нанесенными на неё компонентами(лейблы, дбгрид, кнопки, несколько вкладок).
Проектирую на мониторе с разрешении 1280*1024 а презентовать буду на мониторе с меньшим разрешением. Вопрос в том, как сделать так, чтобы компоненты и сама форма автоматически подстраивались под разрешение экрана. Не хотелось бы чтоб полформы с компонентами пришлось вытаскивать полосой прокрутки. |
|||
|
||||
DarkProg |
|
|||
Законченный романтик Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: 4 Всего: 19 |
В DRKB есть готовое решение.
P.S. Не ленитесь юзать поиск. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." |
|||
|
||||
Xenag |
|
|||
Шустрый Профиль Группа: Awaiting Authorisation Сообщений: 51 Регистрация: 6.3.2010 Репутация: нет Всего: нет |
Ну вообще-то в дельфи есть уже готовое решение
И довольно простое ScaleBy Вот хорошее видео, демонстрируещее, как это работает: http://codegearguru.com/video/020/ScaleBy.html |
|||
|
||||
PaWeLL |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.11.2009 Репутация: нет Всего: нет |
Я так понял, Вы имели в виду это решение
Попробовал вставить его в свою прогу. Получилось вот так (код, не относящийся к делу опущен):
В итоге получаю следующие сообщения: [Error] Unit3.pas(383): Undeclared identifier: 'oForm' [Error] Unit3.pas(383): Statement expected, but expression of type 'Class reference' found [Error] Unit3.pas(141): Unsatisfied forward or external declaration: 'TForm3.AdjustResolution' [Fatal Error] Project1.dpr(8): Could not compile used unit 'Unit3.pas' Прошу помочь разобраться. Это сообщение отредактировал(а) PaWeLL - 25.4.2010, 00:53 |
||||||
|
|||||||
kuzyara |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 215 Регистрация: 13.11.2006 Репутация: нет Всего: 1 |
компилятор тебе подсказал сказал заявил , что не знает "oForm".
объясни ему что ты имел ввиду, когда ты это писал копировал. может быть ОФорм - это текущая форма у автора кода? найди взаимопонимание с компилятором, почувствуй его... станьте единым целым... (с)Сенсей --------------------
подпись |
|||
|
||||
Alexeis |
|
||||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
PaWeLL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.11.2009 Репутация: нет Всего: нет |
Alexeis, не получается. :(
[Error] Unit3.pas(145): Unsatisfied forward or external declaration: 'TForm3.AdjustResolution' |
|||
|
||||
Alexeis |
|
|||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
PaWeLL, функция AdjustResolution(oForm:TForm); определена ниже чем вызывается. Поменять местами реализацию AdjustResolution и FormCreate
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
PaWeLL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.11.2009 Репутация: нет Всего: нет |
Запустил все-таки. Правда ничего не происходит. При запуске проги в меньшем разрешении форма не масштабируется. :(
Это сообщение отредактировал(а) PaWeLL - 11.5.2010, 22:33 |
|||
|
||||
Keeper89 |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Я обычно использую для этого TGridPanel
|
|||
|
||||
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
PaWeLL, у тебя еще и метод объявлен, но не реализован (реализация стоит отдельной процедурой, а не методом формы)
-------------------- Обижено школьников: 8 |
|||
|
||||
PaWeLL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.11.2009 Репутация: нет Всего: нет |
Вопрос все еще в силе.
Нужно как-то отмасштабировать форму с компонентами, созданную в 1280*1024 по меньшее разрешение - 1024*768 Ничего не помогает. Это сообщение отредактировал(а) PaWeLL - 27.5.2010, 16:44 |
|||
|
||||
Piroksen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 14.5.2010 Репутация: нет Всего: нет |
Попробуй этот код, мне помогло. авторство не мое нашел когда то в гугле |
|||
|
||||
Akella |
|
|||
Творец Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 8 Всего: 329 |
||||
|
||||
БелАмор |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 209 Регистрация: 10.6.2010 Где: Россия Репутация: 7 Всего: 17 |
Мой подход к решению этого вопроса:
1. Масштабируются только формы, имеющие элементы вроде гридов, мемо и т.д., которые, собственно, и меняют размер при растягивании формы. На форме обычно только один такой элемент, чаще всего - какой-нибудь грид. 2. Форма разрабатывается исходя из минимально возможных размеров, при которых элементы ещё не налезают друг на друга, а грид имеет размер, ещё позволяющий работать. 3. В конструкторе форме устанавливаются ограничения на минимальные размеры по текущим размерам (т.е. заданным в дизайнере), т.е. форму можно увеличивать по своему усмотрению, но уменьшать меньше, чем она была в дизайнере - нельзя. 4. Для того, чтобы элементы правильно разъезжались, используются Anchors и выравнивание. 5. Настройки формы сохраняются и восстанавливаются для каждого разрешения экрана индивидуально. Т.е. при первом запуске программы на конкретном разрешении форма показывается с минимальными размерами, пользователь её растягивает под себя, и при последующих запусках с этим разрешением уже используются сохранённые настройки. Посмотрите ещё ссылку: http://www.delphikingdom.com/asp/answer.asp?IDAnswer=56561 В частности, сообщение от 01-11-2007 14:29 |
|||
|
||||
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |