怎么实现合并、分离窗口,像QQ2013聊天框和Chrome一样

如何实现合并、分离窗口,像QQ2013聊天框和Chrome一样
现在能想到的就是改变窗口的父子关系,但具体实现不太了解。另外,很重要的一点是合并或分离前后,窗口里的界面元素完全不变,如滚动条位置,文字选中状态等,感觉不用重绘,这是怎么做到的。
这些的实现有什么要点吗?望有大侠指点。

------解决方案--------------------
类似ctabctrl add remove之类的吧 每个窗口都是一个tabctrl窗口 合并就是第一个窗口add 后面的窗口 

取消就是第一个窗口remove