假设我有一个表单A,其中包含一个面板(其中包含许多其他控件)和一个表单B,该面板为空。
我可以通过编程从面板A上拆下面板,然后将其移到表格B中(也许还可以移回到表格A中)吗?

我知道我可以更改面板的所有者,但是它可以在不同的表单之间工作吗?

更新:
经过一番谷歌搜索后,我看到有一个ParentWindow属性。

最佳答案

通过将TForm实际用于面板,您可以轻松地使它们看起来像是面板,也可以显示为表单。然后在运行时将表单停靠到为此目的留下空白面板的位置,并以相同的方式在运行时将其取消停靠。

您不能取消固定TPanel并将其显示为顶级表单窗口,但是可以使用顶级表单窗口并将其停靠在代码中。要获得所需的外观和功能,必须使用正确的工具(在这种情况下为TForm)。

顺便说一句,诸如Toolbar 2000之类的组件库确实允许基于工具栏面板 float 工具栏窗口,因此,如果您真的坚持让所有Designtim元素保持一种形式,那么在设计时,您应该研究一下它在Toolbar 2000中的工作方式。那里有很多代码可以在“未停靠/ float ”模式下渲染工具栏,并处理鼠标驱动的工具栏停靠和停靠到工具栏停靠中。

关于delphi - 如何分离面板并将其显示在单独的窗口中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6461715/

10-11 22:43
查看更多