Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Максимальный размер формы 
:(
    Опции темы
Garabar
Дата 29.11.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Здравствуйте, неожиданная проблема настигла меня:
Необходимо, что бы размер формы был 1040х1900, однако максимальную ширину позволяется выставить лишь 1692. (Delphi 7)
Разъясните пожалуйсто и посоветуйте как преодолеть сей досадный момент.
Спасибо 


Это сообщение отредактировал(а) Garabar - 29.11.2010, 14:13
PM MAIL   Вверх
Snowy
Дата 29.11.2010, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Ну так 1692 > 1040

А ответ прост - никак.
Точнее никак для текущих аппаратных условий.
SetWindowPos не может установить данный размер окна.
Поэтому устанавливает предельный, какой может.
Ковыряться отладчиком в коде винды лениво.
Предположу, что маловато видеопамяти...
PM MAIL   Вверх
Poseidon
Дата 29.11.2010, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Garabar, а что у тебя в Constraints.MaxWidth формы?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Garabar
Дата 29.11.2010, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Если я его не устанавливаю то выдаёт ноль, если устанавливаю то показывает то что поставил, например 1920.
Надо сделать ширину 1920 а позволяет лишь 1692  ((

Не очень понял про видеопамять, карточка вобщемто довольно современная... 
например размер фрейма в фаерфоксе можно делать любого размера, или в текстовой редакторе.... (если эти вещи конечно можно сравнивать smile )
PM MAIL   Вверх
Snowy
Дата 29.11.2010, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Да Constraints тут не причём.
Это ограничение системы.
Например, на моём стареньком ноутбучике, максимальная ширина формы 2732.
Независимо от версии дельфи.
От чего зависит - ХЗ.
PM MAIL   Вверх
Garabar
Дата 29.11.2010, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Хм...  а случаем никто не знает как сие ограничение преодолеть?
Буду чрезвычайно признателен)
PM MAIL   Вверх
RinOSpro
Дата 29.11.2010, 15:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если устроит заголовок bsDialog, то вот:

Код

  BorderStyle := bsDialog;

  Width := 5000;
  Height := 5000;


Это сообщение отредактировал(а) RinOSpro - 29.11.2010, 15:49
  Вверх
Poseidon
Дата 29.11.2010, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Snowy, а какое разрешение экрана ноут держит? Мне кажется в любом случае размер формы никак не может быть меньше разрешения экрана.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Garabar
Дата 29.11.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Спасибо большое - работает 
но только в режиме разработки всё равно не выставить желаемую ширину, а так хочется добавить элементов всяких...
PM MAIL   Вверх
RinOSpro
Дата 29.11.2010, 16:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А в режиме разработки скролбары должны появиться. 
Надо только выставить BorderStyle bsSizeable в инспекторе объектов. 
А BorderStyle := bsDialog; выставляй в коде, в Create к примеру.
  Вверх
Snowy
Дата 29.11.2010, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



А в чём магия диалогов?
Почему другие стили ограничены, а диалоги нет?
PM MAIL   Вверх
Garabar
Дата 29.11.2010, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



BorderStyle bsSizeable стоит, но скролы не появляются, да и вабще в инспекторе объектов нельзя поставить свойству Width значение 1900: набираю 1900 нажимаю ентер и он перескакивает на 1692...
PM MAIL   Вверх
Snowy
Дата 29.11.2010, 16:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



В дельфи 7 и меньше, форма всегда имеет стиль Sizeable при проектировании.
Тут ничего не поправишь...
Только студию ставить.
PM MAIL   Вверх
Garabar
Дата 29.11.2010, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Однако радикальное решение...
PM MAIL   Вверх
RinOSpro
Дата 29.11.2010, 16:38 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Garabar @  29.11.2010,  16:12 Найти цитируемый пост)
BorderStyle bsSizeable стоит, но скролы не появляются, да и вабще в инспекторе объектов нельзя поставить свойству Width значение 1900: набираю 1900 нажимаю ентер и он перескакивает на 1692...


Ты компонент какой ни будь перетащи к краю формы, и появится скроллбар, или в инспекторе посмотри разрешены ли у тебя скроллбары.

Это сообщение отредактировал(а) RinOSpro - 29.11.2010, 16:53
  Вверх
Garabar
Дата 29.11.2010, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 15.9.2004

Репутация: нет
Всего: 1



Если компонент перетащить скролбары конечно же появляются,так и приходиться мутить)
Всем большое спасибо.. наверно офф топ...
PM MAIL   Вверх
RinOSpro
Дата 29.11.2010, 18:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Snowy @  29.11.2010,  16:06 Найти цитируемый пост)
А в чём магия диалогов?Почему другие стили ограничены, а диалоги нет?


хм... сложный вопрос... В общем на WinApi создавал окна, с различными параметрами, и вот до чего дошел. 
Если окно создано с использованием WS_POPUP и при этом отсутствует WS_THICKFRAME. То высота/ширина может может быть большая, до 32767.

В чем магия пока не понятно... 
  Вверх
БелАмор
Дата 30.11.2010, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 10.6.2010
Где: Россия

Репутация: 5
Всего: 17



Цитата(Garabar @  29.11.2010,  16:59 Найти цитируемый пост)
Если компонент перетащить скролбары конечно же появляются,так и приходиться мутить)

Зачем что-то перетаскивать? Положите на форму метку, выставите ей в инспекторе объектов ручками нужные координаты. У вас появятся полосы прокрутки, позволяющие спокойно прокручивать всю рабочую область до этой метки в дизайнтайме. Для того, чтобы область не была слишком большой в рантайме, можно:

1. Очистить Caption метки и сразу выставить нужные координаты, чтобы она и в рантайме работала как ограничитель скроллируемой области.
2. В OnCreate формы что-либо делать с этой меткой:
  а) Очистить Caption и переместить либо в начало, чтобы не мешала, либо в нужное место, чтобы работала как ограничитель.
  б) Уничтожить.
3. Использовать эту метку временно, а по завершении разработки формы просто убрать её.
PM   Вверх
RinOSpro
Дата 30.11.2010, 10:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Garabar @  29.11.2010,  16:59 Найти цитируемый пост)

Зачем что-то перетаскивать? Положите на форму метку, выставите ей в инспекторе объектов ручками нужные координаты. У вас появятся полосы прокрутки, позволяющие спокойно прокручивать всю рабочую область до этой метки в дизайнтайме. Для того, чтобы область не была слишком большой в рантайме, можно:

1. Очистить Caption метки и сразу выставить нужные координаты, чтобы она и в рантайме работала как ограничитель скроллируемой области.
2. В OnCreate формы что-либо делать с этой меткой:
  а) Очистить Caption и переместить либо в начало, чтобы не мешала, либо в нужное место, чтобы работала как ограничитель.
  б) Уничтожить.
3. Использовать эту метку временно, а по завершении разработки формы просто убрать её.


А теперь возьми и снова перечитай вопрос. Перечитал? Еще раз для закрепления.

Зачем ему ляпать на форму лейбл если у него и так там компоненты будут? Он же ясно сказал что форма маленькая и не все помещается.
  Вверх
Poseidon
Дата 30.11.2010, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Я так и не понял, зачем иметь форму шире разрешения экрана?


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Snowy
Дата 30.11.2010, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Poseidon @  30.11.2010,  11:29 Найти цитируемый пост)
Я так и не понял, зачем иметь форму шире разрешения экрана?
В том то и проблема - у него форма во весь экран, а в дизайнере на весь экран не растягивается.
Вот и приходится скролить.
PM MAIL   Вверх
БелАмор
Дата 30.11.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 10.6.2010
Где: Россия

Репутация: 5
Всего: 17



Цитата(RinOSpro @  30.11.2010,  10:14 Найти цитируемый пост)
А теперь возьми и снова перечитай вопрос. Перечитал? Еще раз для закрепления.

Зима наконец наступила, радоваться надо, а вы нервничаете...

Цитата(RinOSpro @  30.11.2010,  10:14 Найти цитируемый пост)
Зачем ему ляпать на форму лейбл если у него и так там компоненты будут? Он же ясно сказал что форма маленькая и не все помещается.

Ему не форму большую надо, а удобно скроллить во время разработки. Если вы не поняли что я имел в виду, возьмите и попробуйте.
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1019 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.