Учись программированию на C++ Builder бесплатно!
Содержание[Скрыть]

Иногда требуется, чтобы пользователи не могли изменить размер окна программы. К примеру, интерфейс жёстко привязан к размерам родительского окна и при изменении размера окна приложения будет «поломан» интерфейс, если, конечно, не были прописаны методы масштабирования каждого компонента. Для простого приложения это не сложно сделать, но если это полноценная функциональная программа, то тут будет очень проблемно. Поэтому стоит позаботиться о запрете изменении размера формы.

Запрет изменение формы через свойство BorderStyle

В «Object Inspector» во вкладке Properties компонента Form есть свойство BorderStyle, которое определяет размер рамки и возможность изменения размера формы. Имеет несколько значений, из которых нужны следующие:

BorderStyle = bsDialog //Запрещает изменять размер формы, прячет кнопки «свернуть» и «развернуть»
BorderStyle = bsToolWindow //Запрещает изменять размер формы, прячет кнопки «свернуть» и «развернуть»
BorderStyle = bsSingle //Запрещает изменять размер формы

Запрет изменение формы через метод OnCanResize

В «Object Inspector» во вкладке «Events» компонента Form есть метод OnCanResize, который срабатывает при изменении размера формы.

void __fastcall TForm1::FormCanResize(TObject *Sender, int &NewWidth, int &NewHeight, bool &Resize)
{
Resize = false;
}

В этом случае пользователю будет даваться возможность изменять размер формы приложения, но при изменении форма останется в прежнем размере.

Поделиться