超级难题:如何将一个窗体添动态添加到TPageControl中?

hustwjz 2004-06-24 05:05:19
我有多个独立的窗体,他们都有独立的功能。现在我向将这些窗体运行时添加到TPageControl中,就如同在TPageControl中添加一页一样,请问该如何实现?

那些窗体的代码恨复杂,如果在TPageControl重新手工添加类似的页面则工作量很大,而且代码重复,不利于程序的维护。
...全文
146 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiirii 2004-06-24
  • 打赏
  • 举报
回复
class function TConsoleAdapter.SetChildForm(ParentControl: TWinControl;
var ChildForm: TForm; ChildClass: string): boolean;
var
FormClass: TFormClass;
begin
if not Assigned(ChildForm) then
begin
FormClass := TFormClass(GetClass(ChildClass));
if Assigned(FormClass) then
ChildForm := FormClass.Create(ParentControl);
end;

ChildForm.Visible := False;
ChildForm.BorderStyle := bsNone;
ChildForm.SetBounds(0, 0, ParentControl.Width, ParentControl.Height);

Windows.SetParent(ChildForm.Handle, ParentControl.Handle);
ChildForm.Visible := True;

TConsoleAdapter.SetConsoleEnabled(True);

Result := True;
end;

類似, 修改下就可
gobiz 2004-06-24
  • 打赏
  • 举报
回复
NewTabSheet.Create;
NewTabSheet.Parent -> PageControl;
NewForm.Create;
NewForm.Parent -> NewTabSheet;
NewForm.Show;

5,388

社区成员

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

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