MFC嵌套拆分窗口的实践总结

本文总结了MFC静态拆分窗口的使用,包括动态与静态拆分窗口的区别,以及如何创建嵌套拆分窗口。通过创建CSplitterWnd对象并设置列数、行数,实现在窗口中添加多个视图。详细步骤包括创建静态拆分窗口、在窗格中创建视图,并提供了关键代码示例,展示了如何解决嵌套拆分窗口显示问题。
摘要由CSDN通过智能技术生成

前一阵子因为项目需要,了解了一下MFC拆分窗口的实现。这里总结下来,供以后复习和回顾。

(///先摘抄下基本知识)

MFC支持两种类型的拆分窗口:动态和静态。

静态拆分窗口的行列数在拆分窗口被创建时就设置好了,用户不能更改,但是用户可以缩放各行各列。一个静态拆分窗口最多可以包含16行16列。Windows资源管理器即是静态拆分窗口的实例。资源管理器的主窗口在垂直方向上被静态拆分窗口分成了两半。

动态拆分窗口最多可以有两行两列。但他们可以相互拆分和合并。显示在动态拆分窗口中的视图并不是完全独立的:动态拆分窗口在水平方向上被拆分后,两行窗口具有各自独立的垂直滚动条但却公用一个水平滚动条。Visual C++就使用了动态拆分窗口(Window->split)。

选择静态或动态拆分窗口有两个决定因素:

1、是否希望用户能够交互式地修改拆分窗口的行列配置;是,就选用动态拆分窗口。

2、计划在拆分窗口中使用的视图种类。在静态拆分窗口中很容易使用两个以上不同种类的视图,因为你可以在每个窗格中指定所用的视图类型。而动态拆分窗口默认所有视图使用的都是相同视图类。

 

基于以上了解,以及项目需要,我选用了静态拆分窗口,且是嵌套拆分窗口。

 

给框架窗口添加静态拆分窗口的过程如下:

1、给框架窗口类(CMainFrame类)添加一个CSplitterWnd数据成员;

2、覆盖框架窗口的OnCreateView在每个静态拆分窗口的窗格中创建视图;

3、使用CSplitterWnd::CreatView在每个静态拆分窗口的窗格中创建视图。(//在MainFrm.cpp中为creatview添加view类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值