我想知道是否有可能做出这样的事情:
但没有创建第二个TForm。
我使用的是Delphi 7,但如果有更新的版本可以告诉我。
答案 0 :(得分:3)
我一直认为DockEx演示过于复杂,无法学习对接的基础知识。
以下是我所知道的最简单的例子:
将TPanel添加到空白表单并将其DragKind属性设置为dkDock,将DragMode设置为dmAutomatic,将其Align属性设置为alTop。
在TPanel上删除TButton
将以下代码添加到表单中:
运行项目并手动将面板拖离窗体。
点击Button1。
以上显示了Delphi如何在没有你的情况下取消停靠Panel(或TEdit等) 正如雷米在评论中所说,需要创建第二种形式来托管它而不被移除。 Button1点击处理程序显示了重新对接面板的方式(当然不完美)。下一个:
然后,阅读OLH并找出a)如何让现在隐藏的面板再次可见,以及b)重新定位&在取消对接之前将其重新对齐在表格上,
type
TMyClass = TControl;
procedure TForm1.Button1Click(Sender: TObject);
begin
TMyClass(Panel1).ManualDock(Self, Nil, alNone);
end;