Перейти к содержанию
Fire Monkey от А до Я
  • 0

Можно ли задать минимальные размеры для формы?


Виктор

Вопрос

Вопрос конечно не шибко умный, что то в пятницу вечером не могу сообразить. Как выставить минимальные размеры формы? Что бы меньше было нельзя никак уменьшить

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Вот модуль который решает проблему минимального размера:

attachicon.gifFMX.FormHelper.zip

 

Просто подключите модуль к своему проекту и объявите его в uses. Пользоваться вот так:

procedure TForm1.FormCreate(Sender: TObject);begin  SetMinSize(640, 480);end;
Все. Теперь размер формы будет ограничен 640х480.

И куда его положить? В папке с проектом он толку не дает.
Ну вообще то по русски написано, пропишите (подключите) в uses ;))
Ссылка на комментарий
  • 0

Знаю, не дурак, программа компилилтся нормально, а толку с этой команды никакого. (Я этот файл копировал в папку с проектом, может нужно не туда копировать?)

Ссылка на комментарий
  • 0

Знаю, не дурак, программа компилилтся нормально, а толку с этой команды никакого. (Я этот файл копировал в папку с проектом, может нужно не туда копировать?)

 

Вот вам шаблон приложения, не мучайтесь так сердешный (XE7, XE8). MinFormSize.zip

 

 

А для максимального размера setmaxsize?

В чем проблема? Допишите нужную. У меня в setmaxsize необходимости до сих пор не было.

Изменено пользователем DirtyBorov
Ссылка на комментарий
  • 0

У меня это работает только когда включен бордюр, в противном случае толку нет, а мне не нужен бордюр. Что делать?

Вы проблемы создаете на ровном месте. :) А как вы хотели то? Бордюрчик и служит той самой штукой за которую его таскают при изменении размера. Если его нет - таскать нечего. Значит ее надо сделать самому. Убираем рамку Form1.BorderStyle = None. Теперь кидаем на форму TStatusBar. Форма прекрасно изменяет размер. Если TStatusBar не подходит, используем TLayout + TSizeGrip. 

При этом можно растягивать только за TSizGrip в углу. Если сильно захотеть и хорошо подумать, то можно TSizeGrip накидать на все стороны формы и тогда можно тянуть в разные стороны. 

Ссылка на комментарий
  • 0

Вот, вот, у муня tsizegrip стоит, и форма может уменьшаться меньше параметра, заданных этим ограничениям

Видимо TSizeGrip работает в обход, в силу кросплатформы. Могу посоветовать еще попробовать задать окно без заголовка но с рамкой. Через задание стиля окна:

http://www.delphisources.ru/pages/faq/base/window_without_caption.html

Ссылка на комментарий
  • 0

А что в uses писать? он показывает  Undeclared identifier: 'TCreateParams'

Вообще то пример был для VCL. В чистом виде он не будет работать в FMX. Нужно использовать CreateHandle как минимум или задать стиль окна через SetWindowLong например.

http://www.firststeps.ru/mfc/winapi/win/r.php?94  А лучше почитать умную книжку по WinAPI.  

Ссылка на комментарий
  • 0

А как это можно применить для билдера? Я подключил к проекты, сделал build, подключил сгенерённый *.hpp.

Однако он странный какой-то, никаким образом до SetMinSize не достучаться.

Ссылка на комментарий
  • 0

Можно использовать событие Формуляра OnConstrainedResize, а в нем можно указать как минимальные значения формуляра, так и максимальные. Да, немножко тоже мигает, но зато просто и стандартными средствами!!!

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...