Добавление пользовательских свойств в формы
В большинстве случаев Вы размещаете код инициализации в обработчике события формы OnCreate.
Пользовательское свойство
Если Вам нужно добавить свойство для формы и инициализировать его перед событием OnCreate, Вы должны отменить конструктор формы (override).
Например, Вам нужно отменить конструктор формы Delphi, чтобы инициализировать свойство Вашей добавленной формы, вот что нужно сделать:
- Определить свойство для формы
- Отменить конструктор Create
- Инициализировать Ваше свойство перед inherited Create;
- Использовать Ваше инициализированное свойство в обработчике события OnCreate формы
interface
type
TRunTimeForm = class(TForm)
procedure FormCreate(Sender: TObject) ;
private
fMyPreCreateValue: boolean;
public
constructor Create(AOwner: TComponent) ; override;
property MyPreCreateValue : boolean read fMyPreCreateValue;
end;
implementation
constructor TRunTimeForm.Create(AOwner: TComponent) ;
begin
fMyPreCreateValue := true;
inherited Create(AOwner) ;
end;
procedure TRunTimeForm.FormCreate(Sender: TObject) ;
begin
// MyPreCreateValue был инициализирован раньше, чем формы была создана!
ShowMessage(BoolToStr(MyPreCreateValue,true)) ;
end;
Примечание: Вы не можете использовать код, который ссылается на стандартные свойства или методы компонентов, которые принадлежат форме перед вызовом inherited Create. Но Вы можете инициализировать Ваши свойства, как это было сделано выше.
Комментарии