Программирование: CreateCustomForm

Прототип

function CreateCustomForm(const ClientWidth, ClientHeight: Integer; const KeepSizeX, KeepSizeY: Boolean): TSetupForm;

Описание

Выполняет создание формы. По умолчанию форма является пустой, поэтому вам нужно будет ещё создать собственные элементы управления и поместить их на форму (установив свойство Parent в экземпляр TSetupForm, возвращаемого этой функцией).

Комментарии

Вместо прямого создания экземпляров TForm или TSetupForm рекомендуется использовать именно эту функцию. Она автоматически выполнит инициализацию шрифта и других свойств созданной формы, подобно другим диалогам программы установки.

Секция [LangOptions], а также директивы DialogFontName и DialogFontSize, определяют шрифт, используемый формой, и, по умолчанию, шрифт дочерних элементов управления, размещённых на этой форме.

Для масштабирования желаемой ширины и высоты клиентской области формы до соответствующих значений следует использовать функции ScaleX и ScaleY. Ширина и высота клиентской области формы — это полная ширина и высота формы за вычетом её границ.

Параметры KeepSizeX и KeepSizeY позволяют определить, должна ли форма увеличиваться по горизонтали и вертикали при изменении размера клиентской области, если используется директива WizardSizePercent. в секции [Setup].

С версии 6.6.0 изменился формат функции CreateCustomForm. Теперь значения ширины и высоты должны быть указаны заранее (после создания формы эти свойства будут доступны только для чтения). Раньше код создания формы выглядел примерно так:

  Form := CreateCustomForm;
  Form.Caption := 'TSetupForm';
  Form.ClientWidth := ScaleX(256);
  Form.ClientHeight := ScaleY(128);

Начиная с версии 6.6.0 этот код следует изменить на следующий:

  Form := CreateCustomForm(ScaleX(256), ScaleY(128), False, False);
  Form.Caption := 'TSetupForm';

Аналогичные изменения коснулись также свойств KeepSizeX и KeepSizeY, которые до версии 6.6.0 были обычными свойствами, доступными для записи, но теперь указываются в качестве параметров при вызове CreateCustomForm и доступны только для чтения.

Пример

Смотрите файл CodeClasses.iss из папки "Examples" в каталоге установки Inno Setup.

См. также:

TForm
TSetupForm