在MainForm上放了一个RzPageControl1点击菜单动态创建RzPageControl1页,
同时动态创建相应窗体并显示在新建的RzPageControl1页上,点击菜单时首先判断相应窗体是否已显示在RzPageControl1页上,
如果是则激活该页,否则创建新页并将新创建的窗体显示在该页上。描述的不太清楚,希望大家能理解!
同时动态创建相应窗体并显示在新建的RzPageControl1页上,点击菜单时首先判断相应窗体是否已显示在RzPageControl1页上,
如果是则激活该页,否则创建新页并将新创建的窗体显示在该页上。描述的不太清楚,希望大家能理解!
解决方案 »
- 程序提示遇到问题,需要关闭......
- 分享一下解决idhttpserver乱码的问题
- Delphi 调用webServer问题..在线等
- 哪位好心的大哥.给我个2010无update1的种子?
- 数据库查询,插入问题 ***在线等待,问题解决就结贴*****
- 在dll中实现socket通信,菜鸟问题,各位大侠赐教,很急!!!
- TImage的使用问题
- 高分!有关Delphi界面的问题!如何实现象QQ那样的动画移动效果
- 紧急求助:如何限制dbgrid 中的某一列不能被修改,而其它列可以修改???
- 请看看我的问题,挂了好几天了http://www.csdn.net/expert/topic/655/655262.xml?temp=.7131616
- 获取指定窗口控件句柄
- Timer与多线程
var
FMenu: TMenuItem;
FTab: TTabSheet;
begin
FMenu := TMenuItem(Sender);
if FMenu.Tag = 0 then
begin
FTab := TTabSheet.Create(Self);
FTab.PageControl := PageControl1;
FTab.parent := PageControl1;
FTab.Caption := FMenu.Caption;
FMenu.Tag := FTab.Handle;
end
else FTab := TTabSheet(FindControl(FMenu.Tag)); PageControl1.ActivePage := FTab;
end;
无奈太菜,烦请那位仁兄帮我修理下。procedure TMainForm.OpenFormPage(FormTag: Integer; TabCaption: string; Formclass: TFormClass; var Myform; AOwner: Tcomponent);
var
i: Integer;
Found: Boolean;
ATab: TRzTabSheet;
AForm: TForm;
begin
Found := False;
for i := 0 to RzPageControl1.PageCount - 1 do
if RzPageControl1.Pages[i].Tag = FormTag then
begin
RzPageControl1.ActivePageIndex := i;
Found := True;
end; if not Found then
begin
ATab := TRzTabSheet.Create(RzPageControl1);
ATab.Tag := FormTag;
ATab.PageControl := RzPageControl1; AForm := TForm(Formclass.Newinstance);
TForm(Myform) := AForm;
AForm.Create(AOwner); ATab.Caption := TabCaption;
AForm.Parent := ATab;
AForm.Align := alclient;
AForm.BorderStyle := bsNone;
AForm.Visible := True;
RzPageControl1.ActivePage := ATab;
end;
end;
procedure TForm1.OpenFormPage(TabCaption: string;
Formclass: TFormClass; var Myform; AOwner: Tcomponent);
var
i:Integer;
Found:Boolean;
ATab:TRzTabSheet;
AForm:TForm;
begin
Found:=False;
for i:=0 to RzPageControl1.PageCount-1 do
begin
if RzPageControl1.Pages[i].Controls[0].ClassName=Formclass.ClassName then
begin
RzPageControl1.ActivePageIndex:=i;
Found:=True;
end;
end;
if not Found then
begin
ATab:=TRzTabSheet.Create(RzPageControl1);
ATab.Tag:=FormTag;
ATab.PageControl:=RzPageControl1; AForm:=TForm(Formclass.Newinstance);
TForm(Myform):=AForm;
AForm.Create(AOwner); ATab.Caption:=TabCaption;
AForm.Parent:=ATab;
AForm.Align:=alclient;
AForm.BorderStyle:=bsNone;
AForm.Visible:=True;
RzPageControl1.ActivePage:=ATab;
end;
end;
var Myform; AOwner: Tcomponent);
var
i:Integer;
Found:Boolean;
ATab:TRzTabSheet;
begin
Found:=False;
for i:=0 to RzPageControl1.PageCount-1 do
begin
if RzPageControl1.Pages[i].Controls[0].ClassName=Formclass.ClassName then
begin
RzPageControl1.ActivePageIndex:=i;
Found:=True;
end;
end;
if not Found then
begin
ATab:=TRzTabSheet.Create(RzPageControl1);
ATab.PageControl:=RzPageControl1;
TForm(myform):=Formclass.Create(AOwner);
ATab.Caption:=TabCaption;
TForm(myform).Parent:=ATab;
TForm(myform).Align:=alclient;
TForm(myform).BorderStyle:=bsNone;
TForm(myform).Visible:=True;
RzPageControl1.ActivePage:=ATab;
end;
end;