2008年(909)
分类:
2008-05-06 21:33:41
下载本文示例代码
本文代码运行效果图
今天难得有空停下手中的活来收一下信箱的MAIL,很高兴能收到大家的来信,其中大多都是针对上期中的一篇文章:《CGfxOutBarCtrl之BUG篇》。看到大家热情洋溢的言语我想再次感谢VC知识库的朋友们!其中有几位朋友在来信中提到:如何在多文档程序中实现类似OutLook的菜单界面呢?我觉得这个问题问的很好,因为现在大多数的界面库(BCG/CJLibrary)演示程序都是建立Dialog/SDI基础上的,所以大家按照常规做法很容易“克隆”,那么在多文档的情况我们是不是更应该来考虑一下如何来实现呢?那么现在就让我们来实现多文档下的OutLook菜单界面。
1. 建立工程:新建一个多文档类型的工程,工程名为:MultiOutLook。
2. 准备资源:为了利用原始工程中的[位图/图标/光标]等资源,建议在动手改造之前,先把原来单文档工程下的RES目录拷贝过来,然后覆盖多文档目录下的RES目录。不然动拼西凑地找资源太麻烦,哈哈。
3. 修改资源头文件(resource.h):资源虽然已经具备,可是我们还没有把它加入到工程的资源树中去,做法还是原版不动的“拿来主义”。名字可不要敲错哦。然后要注意修改resource.h文件中的符号定义(#define)。
4. 实现代码:要实现多文档下的OutLook菜单界面,你只要改变“子框架“(CChildFrame)的结构就可以。其实说白了就是把单文档时的主框架结构拉到现在多文档的子框架结构中来即可。具体做法是:把以前单文档时的CMainFrame的OnCreateClient中代码拉到现在的CChildFrame的OnCreateClient事件中来。
再者CChildFrame的成员变量:wndSplitter/wndBar/imaLarge/imaSmall/wndTree也和以前单文档时的CMainFrame中的成员变量保持一致。同样也不要忘记在CChildFrame的头文件中把用到的头文件也包含进来哦。
5. 编译运行,一切OK!
至于效率和实用你就慢慢雕刻吧!如果有什么不妥之处,也不要忘记来信告诉俺哦。
Mail:lixiaofei@geasp.com