| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Максимальный размер формы |
| Автор: Garabar 29.11.2010, 14:07 |
| Здравствуйте, неожиданная проблема настигла меня: Необходимо, что бы размер формы был 1040х1900, однако максимальную ширину позволяется выставить лишь 1692. (Delphi 7) Разъясните пожалуйсто и посоветуйте как преодолеть сей досадный момент. Спасибо |
| Автор: Snowy 29.11.2010, 14:51 |
| Ну так 1692 > 1040 А ответ прост - никак. Точнее никак для текущих аппаратных условий. SetWindowPos не может установить данный размер окна. Поэтому устанавливает предельный, какой может. Ковыряться отладчиком в коде винды лениво. Предположу, что маловато видеопамяти... |
| Автор: Poseidon 29.11.2010, 14:57 |
| Garabar, а что у тебя в Constraints.MaxWidth формы? |
| Автор: Garabar 29.11.2010, 15:40 |
| Если я его не устанавливаю то выдаёт ноль, если устанавливаю то показывает то что поставил, например 1920. Надо сделать ширину 1920 а позволяет лишь 1692 (( Не очень понял про видеопамять, карточка вобщемто довольно современная... например размер фрейма в фаерфоксе можно делать любого размера, или в текстовой редакторе.... (если эти вещи конечно можно сравнивать |
| Автор: Snowy 29.11.2010, 15:43 |
| Да Constraints тут не причём. Это ограничение системы. Например, на моём стареньком ноутбучике, максимальная ширина формы 2732. Независимо от версии дельфи. От чего зависит - ХЗ. |
| Автор: Garabar 29.11.2010, 15:49 |
| Хм... а случаем никто не знает как сие ограничение преодолеть? Буду чрезвычайно признателен) |
| Автор: RinOSpro 29.11.2010, 15:49 | ||
Если устроит заголовок bsDialog, то вот:
|
| Автор: Poseidon 29.11.2010, 15:56 |
| Snowy, а какое разрешение экрана ноут держит? Мне кажется в любом случае размер формы никак не может быть меньше разрешения экрана. |
| Автор: Garabar 29.11.2010, 15:57 |
| Спасибо большое - работает но только в режиме разработки всё равно не выставить желаемую ширину, а так хочется добавить элементов всяких... |
| Автор: RinOSpro 29.11.2010, 16:01 |
| А в режиме разработки скролбары должны появиться. Надо только выставить BorderStyle bsSizeable в инспекторе объектов. А BorderStyle := bsDialog; выставляй в коде, в Create к примеру. |
| Автор: Snowy 29.11.2010, 16:06 |
| А в чём магия диалогов? Почему другие стили ограничены, а диалоги нет? |
| Автор: Garabar 29.11.2010, 16:12 |
| BorderStyle bsSizeable стоит, но скролы не появляются, да и вабще в инспекторе объектов нельзя поставить свойству Width значение 1900: набираю 1900 нажимаю ентер и он перескакивает на 1692... |
| Автор: Snowy 29.11.2010, 16:17 |
| В дельфи 7 и меньше, форма всегда имеет стиль Sizeable при проектировании. Тут ничего не поправишь... Только студию ставить. |
| Автор: Garabar 29.11.2010, 16:31 |
| Однако радикальное решение... |
| Автор: Garabar 29.11.2010, 16:59 |
| Если компонент перетащить скролбары конечно же появляются,так и приходиться мутить) Всем большое спасибо.. наверно офф топ... |
| Автор: RinOSpro 29.11.2010, 18:45 | ||
хм... сложный вопрос... В общем на WinApi создавал окна, с различными параметрами, и вот до чего дошел. Если окно создано с использованием WS_POPUP и при этом отсутствует WS_THICKFRAME. То высота/ширина может может быть большая, до 32767. В чем магия пока не понятно... |
| Автор: БелАмор 30.11.2010, 01:52 | ||
Зачем что-то перетаскивать? Положите на форму метку, выставите ей в инспекторе объектов ручками нужные координаты. У вас появятся полосы прокрутки, позволяющие спокойно прокручивать всю рабочую область до этой метки в дизайнтайме. Для того, чтобы область не была слишком большой в рантайме, можно: 1. Очистить Caption метки и сразу выставить нужные координаты, чтобы она и в рантайме работала как ограничитель скроллируемой области. 2. В OnCreate формы что-либо делать с этой меткой: а) Очистить Caption и переместить либо в начало, чтобы не мешала, либо в нужное место, чтобы работала как ограничитель. б) Уничтожить. 3. Использовать эту метку временно, а по завершении разработки формы просто убрать её. |
| Автор: RinOSpro 30.11.2010, 10:14 | ||
А теперь возьми и снова перечитай вопрос. Перечитал? Еще раз для закрепления. Зачем ему ляпать на форму лейбл если у него и так там компоненты будут? Он же ясно сказал что форма маленькая и не все помещается. |
| Автор: Poseidon 30.11.2010, 11:29 |
| Я так и не понял, зачем иметь форму шире разрешения экрана? |
| Автор: Snowy 30.11.2010, 11:43 |
| В том то и проблема - у него форма во весь экран, а в дизайнере на весь экран не растягивается. Вот и приходится скролить. |
| Автор: БелАмор 30.11.2010, 14:10 | ||||
Зима наконец наступила, радоваться надо, а вы нервничаете...
Ему не форму большую надо, а удобно скроллить во время разработки. Если вы не поняли что я имел в виду, возьмите и попробуйте. |