MFC窗口分割设计与实现
基于 MFC 的窗口分割设计,用起来还挺顺手的,适合搞那种多视图、多面板的 Windows 桌面程序。像编辑器、数据查看器那类,做出专业感就靠它了。CSplitterWnd
这个类是主力,用来把主窗口一分为二甚至更多,静态、动态分割都能搞,分分钟给你搭个 IDE 风格的界面。
用CSplitterWnd
分割窗口,先建个派生类,用Create
方法定义好布局,要静态就固定布局,要动态分割就灵活点,比如用DoSplit
随时加视图。记得在主窗口那边挂上去,不然没效果。
子窗口一般都是CView
派生类,功能可以各干各的,消息传一传,协作起来也没问题。像想做主视图和侧边日志窗口的,轻松搞定。交互体验也不错,分割线可以拖,用户调整窗口大小没障碍。
还有,文档里提到的SplitWnd
应该是核心代码,配合基于 MFC 的窗口分割的设计与实现.doc
文档一起看,思路会更清楚。你可以学到怎么响应用户拖动、怎么动态加视图、怎么重绘窗口,都是实打实的技巧。
对了,如果你做的是那种结构复杂、需要切换视图的程序,这种分割窗口方案真的挺靠谱。比如你想实现代码编辑区 + 输出窗口的双区布局,或者主视图 + 控制面板这种,MFC 这套玩意还真蛮合适的。
顺便推荐几个链接,像VS2010 MFC 窗口分割示例和C++多视图切分窗口应用程序,看看别人是怎么做的,也能给你不少灵感。
如果你正好在用 MFC 做工具类应用,不妨试试把窗口做成分割式的。上手简单,功能还挺强,效果也专业。
60.02KB
文件大小:
评论区