请教TPageControl控件

YangYun 2003-03-18 03:25:02
使用TPageControl控件时,我已经想好在某个页面上的界面布局,但我又不想在程序加载时就显示它(不能将它先隐藏,因为我的这个页面不太常用,一开始就加载它浪费资源),当我准备使用它时,再动态加载一个新页面,新页面里怎样加载我想用的各种控件(如果能之前做了个Frame等之类的东西的话,那以这个新页面里怎样才能重用已经有的某个窗口呢?换句话说,在TPageControl页面上是否能加载一个窗体呢?
...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
YangYun 2003-03-19
  • 打赏
  • 举报
回复
我以前以为只能通过Frame进行重用某窗体呢
YangYun 2003-03-19
  • 打赏
  • 举报
回复
findcsdn(searchcsdn) ( ):这样真的可以吗?如果真能,那真是太感谢你了,我马上去试验。
findcsdn 2003-03-18
  • 打赏
  • 举报
回复
在pagecontrol的tabsheet上加载form是可以的,改动如下:
重载form的CreateParams函数加上ws_child风格;
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := Params.Style or WS_CHILD;
end;
创建完form对象后改变form的parent对象;
form1.parent := tabsheet1;
即可;



dht2003 2003-03-18
  • 打赏
  • 举报
回复
up
renzhm 2003-03-18
  • 打赏
  • 举报
回复
如果是这样的话,最好的办法就是使用Frame了,把你的布局做成Frame,然后动态加载

TPageControl页,并且在该页动态加载Frame。
YangYun 2003-03-18
  • 打赏
  • 举报
回复
也不一定非要加载窗体,我的意思就是动态加载某页,而这页的内容布局虽然我知道,但我程序刚开始并不想马上加载它,而在程序运行中加载,
renzhm 2003-03-18
  • 打赏
  • 举报
回复
你这个问题太大了,在TPageControl页面上加载一个窗体?

给你一些提示:

动态加页:

var
NewSheet:TTabSheet;
begin
NewSheet:=TTabSheet.Create(self);
with NewSheet do
begin
PageControl := PageControl1;
Caption:='PageCaption'+IntToStr(PageControl1.PageCount);
end;
PageControl1.ActivePageIndex:=PageControl1.PageCount-1;
end;

在页上动态加控件,如TMemo:

with TMemo.Create(NewSheet) do
begin
Parent:=PageControl1.ActivePage;
end;

加载窗体?还不会!
YangYun 2003-03-18
  • 打赏
  • 举报
回复
居然没有人能回答这个问题吗

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧