Delphi中Frame的使用方法(2)

Frame在写代码时和一般组件有什么不同呢?比如(1)中的客户信息的frame,如果想重写客户编辑按钮的click事件,会发生什么呢:

procedure TBusOnSiteManager.FrameCustomerButtonEditCustomerClick(Sender: TObject);
begin
  inherited;
  FrameCustomer.ButtonEditCustomerClick(Sender);

end;


可见,IDE会自动加上调用Frame中按钮click的方法,当然,你可以注释掉它,写上自己的代码。

 

因为Frame没有自己的构造器和解析器,如果你想初始化一些东西,可以override frame的以下两个方法:

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

procedure TFrameCustomer.AfterConstruction;
begin
  inherited;
  ParentForm := GetOwner as TTAppSQLForm;  //此处取得父窗口
end;

procedure TFrameCustomer.BeforeDestruction;
begin
  inherited;

end;

posted @ 2016-04-09 16:26  h2z  阅读(965)  评论(0编辑  收藏  举报