完美实现tabsheet中融合窗体,不重复创建,并自动切换到已经创建的sheet
2013-06-28 10:26
211 查看
procedure TForm1.btn1Click(Sender: TObject);
//功能说明 点击时,创建窗口并显示到sheet中,再并点击时如果已经有则不再创建;
//如果已经有打开的则要切换成当前活动的。项目设置中取消指定窗体的自动创建
var
i:Integer;
begin
if Application.FindComponent('form2') = nil then //没有创建测开始
begin
Application.CreateForm(TForm2,Form2);
form2.ManualDock(rzpgcntrl1);
Form2.Visible:=true;
rzpgcntrl1.ActivePageIndex :=rzpgcntrl1.PageCount-1;
end
else
begin
for i:=0 to rzpgcntrl1.PageCount-1 do //检索已经打开的sheet并显示
begin
//ShowMessage(form2.caption); //测试可以取到值
if rzpgcntrl1.Pages[i].caption=form2.caption then
begin
rzpgcntrl1.ActivePage:=rzpgcntrl1.Pages[i];
end;
end;
end;
end;
如果把这个改成函数调用就更方法了,我改了几次不成功 ,希望高手能将这段改成函数,方法调用
//功能说明 点击时,创建窗口并显示到sheet中,再并点击时如果已经有则不再创建;
//如果已经有打开的则要切换成当前活动的。项目设置中取消指定窗体的自动创建
var
i:Integer;
begin
if Application.FindComponent('form2') = nil then //没有创建测开始
begin
Application.CreateForm(TForm2,Form2);
form2.ManualDock(rzpgcntrl1);
Form2.Visible:=true;
rzpgcntrl1.ActivePageIndex :=rzpgcntrl1.PageCount-1;
end
else
begin
for i:=0 to rzpgcntrl1.PageCount-1 do //检索已经打开的sheet并显示
begin
//ShowMessage(form2.caption); //测试可以取到值
if rzpgcntrl1.Pages[i].caption=form2.caption then
begin
rzpgcntrl1.ActivePage:=rzpgcntrl1.Pages[i];
end;
end;
end;
end;
如果把这个改成函数调用就更方法了,我改了几次不成功 ,希望高手能将这段改成函数,方法调用
相关文章推荐
- jQuery实现tab标签自动切换的方法
- 用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换操作
- javascript 回车实现 tab 切换功能完美解决
- js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
- vue实现自动切换tab
- Jquery封装tab自动切换效果的具体实现
- html+css+jQuery+JavaScript实现tab自动切换功能
- 分步解析JavaScript实现tab选项卡自动切换功能
- 分步解析JavaScript实现tab选项卡自动切换功能
- javascript回车完美实现tab切换功能
- Jquery封装tab自动切换效果的具体实现
- c#实现关闭当前窗体并打开另一个已经创建的窗体
- MFC 判断子窗体是不是已经打开,避免重复创建
- javascript回车完美实现tab切换功能
- jquery实现tab切换加自动滚动切换
- winform中实现不重复创建窗体
- jQuery实现tab标签自动切换的方法
- 给编辑框设置新的窗口过程,实现按下Tab键和回车键自动切换到下一个编辑框
- JS实现TAB自动切换