一个delphi界面的问题!如何切换这一半界面(100分)

  • 主题发起人 主题发起人 NLee
  • 开始时间 开始时间
N

NLee

Unregistered / Unconfirmed
GUEST, unregistred user!
界面设计像windows的资源管理器,左侧是一个TreeView控件,当点击不同的节点时,右侧界面进行切换,右侧界面比较复杂,包含大量的控件。如何实现这种界面?
 
用notebook控件,它的一个页对应一个TreeView的节点。
不过这样包含了大量的控件,太耗资源了,不赞同!
 
如果trview的节电不多的话,可以采用notebook控件
如果多的话,我采用的方法是在右侧界面放一个panel,所有其他的窗口都以它为父控件
动态创建:
procedure TmainForm.createForm(className: string);
var
formclass:Tformclass;
begin
formclass:=Tformclass(findclass('T'+className));
if assigned(tempform00) then
begin
tempform00.Close;
tempform00.free;
end;
formflag:=className;
tempform00:=formclass.Create(containPanel);
tempform00.parent:=containPanel;
tempform00.Align:=alClient;
end;
 
右边放一个panel,左边不同节点对应不同的form,当不同节点被选中时,建立对应的form,并把它的.parent设成该panel,然后show.
这样有利于模块化,而不象用notebook或pagecontrol那样,因一大堆东西在同一个form而变得很能维护。
 
我的做法是就右边截面作好,然后右边放一个PANEL,然后呢,让设计的界面在PANEL里显示,我这里就是这么处理的!这样速度比较快,不过就是比较烦琐!
 
谢谢各位!我先试一下
 
用EdwinYeah的方法吧
 
各位说的都对呀,领分吧。采用了EdwinYeah的方案
 
多人接受答案了。
 
还有一个问题:当我切换界面时,如何释放上一个界面(Form)
采用的是EdwinYeah的方案
 
后退
顶部