窗体融合? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ?SubForm := new TSubForm.Create(Application);SubForm->Parent := Self->Panel1;SubForm->Show; Var DockPos : TRect;begin {注:停靠的窗体要比pnlUIfrm宽加8高加26} if ( PfrmUIForm <> nil ) and Assigned(PfrmUIForm) then begin DockPos.Top := 0; DockPos.Left := 0; DockPos.Right := Panel.Width; DockPos.Bottom := Panel.Height; PfrmUIForm := TPfrmUIForm.Create(Application); PfrmUIForm.Dock(Panel , DockPos); PfrmUIForm.Show; end;end; Panel控件最适合作两个窗口融合的工具。由于这是最一般的情况,所以这里举一个具有代表性的例子详细说明。我们要达到的要求是:程序运行后,出现主窗口,按一个按钮,出现另一个窗口,拖动此窗口,与主窗口融合在一起,融合后主窗口的Caption变成两个窗口的Caption相加。在主窗口form1中放置两个Panel控件(panel1和panel2),一个Button控件(button1);另一个窗口form2为空白窗口。具体属性设置如下: panel1: align:alleft; docksite:true; usedockmanager:true; panel2: align:albottom; docksite:true; usemanager:true; form2: anchors:[aktop,akbottom,akleft,akright]; dragmode:dmautomatic; dragkind:dkdock; 设置button1的onclick事件,对应的代码如下: procedure TForm1.Button1Click(Sender: TObject); begin form2.Show; a:=form1.caption; b:=form2.caption; end; 设置panel1和panel2的onundock事件,代码如下: procedure TForm1.Panel1UnDock(Sender: TObject; Client: TControl; NewTarget: TWinControl; var Allow: Boolean); begin form1.caption:=a; form1.Refresh; end; 设置panel1和panel2的ondockdrop事件,代码如下: procedure TForm1.Panel1DockDrop(Sender:TObject; Source: TDragDockObject; X, Y: Integer); begin form1.Caption:=a+′,′+b; form1.Refresh; end; 其中a,b为String型变量,用以保存窗口的最初标题,在form1的接口处声明。 创建excel文件后动态加载宏 簡繁軟件通用 那里可找到一些好控件?如何更好引用 简单问题,给50分。 怎样快速并按正确的数据格式将QUERY导出至EXCEL?????? 如何在程序中设置标签的Caption? 哪位朋友帮忙修改个小程序 熟悉DELPHI IDE(NTA)和消息的的兄弟帮帮忙~~ 版本兼容问题 如果用了memo控件,但是又在memo的位置上显示Flash动画,怎样实现? 用什么函数得到上个月此时?? “无法更新行集定位:一些值可能已在最后读取后改变”帮帮我,把这个错误kill掉。
SubForm := new TSubForm.Create(Application);
SubForm->Parent := Self->Panel1;
SubForm->Show;
DockPos : TRect;
begin
{注:停靠的窗体要比pnlUIfrm宽加8高加26}
if ( PfrmUIForm <> nil )
and Assigned(PfrmUIForm) then
begin
DockPos.Top := 0;
DockPos.Left := 0;
DockPos.Right := Panel.Width;
DockPos.Bottom := Panel.Height;
PfrmUIForm := TPfrmUIForm.Create(Application);
PfrmUIForm.Dock(Panel , DockPos);
PfrmUIForm.Show;
end;
end;
align:alleft;
docksite:true;
usedockmanager:true;
panel2:
align:albottom;
docksite:true;
usemanager:true;
form2:
anchors:[aktop,akbottom,akleft,akright];
dragmode:dmautomatic;
dragkind:dkdock;
设置button1的onclick事件,对应的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.Show;
a:=form1.caption;
b:=form2.caption;
end;
设置panel1和panel2的onundock事件,代码如下:
procedure TForm1.Panel1UnDock(Sender: TObject; Client: TControl; NewTarget: TWinControl; var Allow: Boolean); begin
form1.caption:=a;
form1.Refresh;
end;
设置panel1和panel2的ondockdrop事件,代码如下:
procedure TForm1.Panel1DockDrop(Sender:TObject; Source: TDragDockObject; X, Y: Integer);
begin
form1.Caption:=a+′,′+b;
form1.Refresh;
end;
其中a,b为String型变量,用以保存窗口的最初标题,在form1的接口处声明。