我的程序里有多个FRAME,fmewelcome,fmequery,fmefly......
我现在是用下面的语句打开FRAME
procedure Tfrmmain.actwelcomeExecute(Sender: TObject);
begin
tab:=TNxTabSheet.Create(NxPageControl1);
tab.Caption :=(sender as TAction).Caption;
NxPageControl1.AddPage(tab,true) ;
fmewelcome := Tfmewelcome.Create( Application );
fmewelcome.Parent := NxPageControl1.Pages[NxPageControl1.PageCount-1];
fmewelcome.BringToFront ;
fmewelcome.Align := alClient;
NxPageControl1.ActivePageIndex:=NxPageControl1.PageCount-1 ;
end
因为FRAME太多,每个FRAME都这么写太麻烦,我想用过程getframe把FRAME作为参数来执行,应该怎么写?
谢谢各位了!!
我现在是用下面的语句打开FRAME
procedure Tfrmmain.actwelcomeExecute(Sender: TObject);
begin
tab:=TNxTabSheet.Create(NxPageControl1);
tab.Caption :=(sender as TAction).Caption;
NxPageControl1.AddPage(tab,true) ;
fmewelcome := Tfmewelcome.Create( Application );
fmewelcome.Parent := NxPageControl1.Pages[NxPageControl1.PageCount-1];
fmewelcome.BringToFront ;
fmewelcome.Align := alClient;
NxPageControl1.ActivePageIndex:=NxPageControl1.PageCount-1 ;
end
因为FRAME太多,每个FRAME都这么写太麻烦,我想用过程getframe把FRAME作为参数来执行,应该怎么写?
谢谢各位了!!
procedure Tfrmmain.AddFrameToPageControl(AFrameClass, ATabCaption: string; APageControl: TNxPageControl);
var
tab: TNxTabSheet;
begin
try
tab := TNxTabSheet.Create(APageControl);
tab.Caption := ATabCaption;
with TCustomFrameClass(FindClass(AFrameClass)).Create(Application) do
begin
Parent := tab;
BringToFront;
Align := alClient;
end;
APageControl.AddPage(tab, true);
APageControl.ActivePageIndex := tab.PageIndex;
except
on E: Exception do
begin
tab.Free;
ShowMessage(E.Message);
end;
end;
end;initialization
RegisterClasses([fmewelcome, fmequery, fmefly]);finalization
UnRegisterClasses([fmewelcome, fmequery, fmefly]);