我有两个窗体(一个是主窗体,另一个是子窗体),我想做一些类似CodeGear的IDE面板的拖放操作,也就是说,我可以移动它们,它们可以与其他组件合并。
然而,我要求的是不同的东西:
我想把submain窗体拖到main窗体中,然后把它变成像TFrame这样的东西,或者换句话说,变成一个不动的东西,但保持反向的状态--我也希望能有机会把这个窗体从TFrame中取出。
我的想法可行吗?如果可行,你能解释一下如何实现它吗?
EDIT:我的head.Is产生了一个想法可以创建一个Tframe,它继承了TForm的所有控件/组件,这样组件就可以留在窗体上,但是当我试图将它转换为TFrame时,它只是将visibility更改为false,并显示TFrame包含Form.Is中的所有可能的内容?
发布于 2009-08-13 20:30:55
将主窗体的DockSite属性设置为True,然后处理OnDockOver和OnDockDrop事件。
您可以在docking演示中看到VCL拖放停靠支持的示例(为Delphi2007安装在C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32\Docking,for Delphi7下的C:\Program Files\Borland\Delphi7\Demos\ Docking。)Delphi2009将与Delphi2007位于相同的文件夹位置;只需更改路径中的5.0到6.0即可。
https://stackoverflow.com/questions/1274342
复制相似问题