在做较大功能模块时常常需要调用已经写好的页面, 对于某些诸如向导/步骤式的模块每次弹出页面是不太友好的, 因此我尝试将已有的页面嵌入新做的页面中.(事实上原工程中form2用groupbox做的向导页, 是form1嵌入form2中的某一标签页中实现向导切换)
以下为部分代码(由于项目保密, 在原工程上有删减),只列出实现效果的关键代码.
Form1:
unit F_Form1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, F_RatioBase, DB, RxMemDS, ComCtrls, Buttons, ExtCtrls, RzButton,
StdCtrls;
type
TFrmForm1 = class(TForm)
btnOK: TRzBitBtn;
btnCancel: TRzBitBtn;
Panel1: TPanel;
Panel2: TPanel;
private
{ Private declarations }
FOwnerForm : TForm;
procedure LocateData;override;
procedure InitCoordinate; override;
public
{ Public declarations }
//为了屏蔽父类的一个虚方法, 在子类中生成一个新的方法, 响应父窗体事件的关键
constructor Create(AOwner: TComponent; OwnerForm: TForm ); reintroduce;
end;
var
FrmForm1:TFrmForm1;
implementation
{$R *.dfm}
//构造一个create函数将FOwnerForm 赋值
constructor TFrm