关于停靠面板(DockingPane)的实现有关问题

关于停靠面板(DockingPane)的实现问题
就是那种可以拖拉的小窗口 
这东西是怎么实现的有没有人知道?
我现在用的是第三方界面库XTP的

本来以为每个可以拖拉的小窗口都是一个CWnd的派生类
结果看了代码发现不是这样

整体的DockingPaneMgr派生自CWnd类
然后通过这个类来创建小的Pane(派生自CCmdTarget)
这种是怎么实现每个小窗口的独立显示的?

我自己的设想是 整个DockingPaneMgr作为一个整体
创建Pane的时候保存具体的Pane的位置参数

当显示的时候DockingPaneMgr通过每个Pane的参数信息 
实现在ClientRect的重绘。

------解决方案--------------------
XTP不清楚,VS2008SP1/VS2010的新增的CDockablePane应该符合你的需要
------解决方案--------------------
可以参考BCG中CBCGPDockingControlBar源码
------解决方案--------------------
这里面有一个布局的概念
所以所有浮动面板要用一个管理器来管理
你所说的分开显示也没什么不好理解的啊
其实还都是独立窗口的
不过我没具体研究过XTP
这里只是推测