怎样在panel里显示一个子窗体?

xchunyu 2003-02-28 01:15:00

如题。
请有经验的朋友尽可能详细指点
...全文
104 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
307 2003-03-01
  • 打赏
  • 举报
回复
严重同意: blueshrimp(天空还下着沙)
我试过,可以
有问题请发信息到我的E-mail:guangbowang@163.com
xchunyu 2003-03-01
  • 打赏
  • 举报
回复

(我是原提问者)
可是:
在MainForm里根本不能引用ChildForm,这应该怎么办呢
fancier 2003-02-28
  • 打赏
  • 举报
回复
哇!!!
学习
Wnyu 2003-02-28
  • 打赏
  • 举报
回复
form2.show;
form2.Dock(panel1,panel1.BoundsRect);
skyclin 2003-02-28
  • 打赏
  • 举报
回复
还可采用Panel的UnDock事件和另外一个事件,不好意思,记不起来了,
需要的话明天给你!!
beata88 2003-02-28
  • 打赏
  • 举报
回复
OO_is_just_P 2003-02-28
  • 打赏
  • 举报
回复
同意 lueshrimp(天空还下着沙) 的,没问题。
jackie168 2003-02-28
  • 打赏
  • 举报
回复
同意一樓的.....
starlyq 2003-02-28
  • 打赏
  • 举报
回复
procedure TMainForm.FormCreate(Sender: TObject);
var
 H : HWND;
 R : TRect;
begin
 H := Panel1.Handle;       //取 MainForm 上 Panel 句柄
 ChildForm.ParentWindow := H;  //将新窗体绑定在 MainForm 的 Panel 上显示

 //以下功能:子窗体的大小设置为Panel的大小
 GetWindowRect(H, R);
 OffsetRect(R, -R.Left, -R.Top);
 ChildForm.BoundsRect := R;

 ChildForm.Show;
end;
laihecongxi 2003-02-28
  • 打赏
  • 举报
回复
用parent实现不亦得到该窗体控件的焦点。可以尝试停靠:
form2.Dock(panel1,panel1.BoundsRect);
blueshrimp 2003-02-28
  • 打赏
  • 举报
回复
uses form2;

procedure TForm1.Button1Click(Sender : TObject);
begin
Application.CreateForm(TForm2, Form2);
Form2.Show;
end;



uses Form1;

procedure TForm2.FormCreate(Sender : TObject)
begin
with Self do
begin
Parent := Form1.Panel1;
Top := 0;
Left := 0;
Height := Form1.Panel1.ClientHieght;
Width := Form1.Panel1.ClientWidth;
end;
end;


//可能拼写有误,纯手写,公司机器不行,懒得启动d6
Black 2003-02-28
  • 打赏
  • 举报
回复
frmsjlr.Parent:=panel1;
frmsjlr.Align:=alclient;
frmsjlr.Show;
frmsjlr.Left:=0;
frmsjlr.Top:=0;
bewill 2003-02-28
  • 打赏
  • 举报
回复

Form2.Parent := Panel1

5,388

社区成员

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

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