由于需要实现的界面比较复杂,而且程序比较庞大,所以部分功能放在ATL DLL中实现。
在 VS2008 的FeaturePackage 中的CDockablePane 是我比较喜欢的一个浮动栏,可是目前此类只能在CFrameWnd 的派生类中使用,于是就想办法在DLL 中创建一个CFrameWnd 窗口,可是创建出来的窗口是带有边框的,要去掉边框才行,研究了许久未果,终于在一个兄弟的blog 上找到了解决方法,终于实现了,实现代码如下:
其中 CMyFrameWnd 派生自 CFrameWnd
还有一个方法,就是在CMyFrameWnd 中重载 PreCreateWindow ,在PreCreateWindow 中修改cs.style