因为Lazarus及Delphi中对Frame都没有提供构造器和解析器,如果想在Frame创建时初始化一些东西,可以override frame的以下两个方法:

public
    { Public declarations }
    ParentForm :TForm;
    procedure AfterConstruction; override;   //类似OnCreate事件
    procedure BeforeDestruction; override; //类型OnDestroy事件
end;

procedure TFrameCustomer.AfterConstruction;
begin
  inherited;
  ParentForm := GetOwner as TForm;  //此处取得父窗口
  //你要执行的其它代码
end;

procedure TFrameCustomer.BeforeDestruction;
begin
  inherited;
  //你要执行的代码
end;

本文由 王守红 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论