- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mfc静态分割窗口的方法
mfc静态分割窗口的方法本文主要是对MFC中CSplitterWnd的用法做个简要介绍。我找了很久相关资料都没有找到适合新手的相关文章。希望本文能够帮助有着类似痛苦经历的兄弟。
背景分割窗体就是把一个窗体分割成多个面板,如图1那样,或者像是迅雷那样。面板就是放各种控件或视图的容器。
分割窗体有两种形式,静态和动态。今天讲的只涉及到静态的,因为动态的要复杂些。两种形式的区别在于动态的可以收拢和展开,静态的则不能。
代码指南
0、建立项目
?? 打开VS2008,新建项目,选择MFC,MFC应用程序。
图2
如上图所示,设置好之后单击“完成”。
1、定义变量
?? 如图4,在MainFrm.h中添加变量 CSplitterWnd splitter 和 BOOL isInit。布尔变量isInit用来管理分割窗体的状态,用来判断是否已经分割过了。splitter是用来把窗体分割成图1那样子。另外,在MainFrm的构造函数中,把 isInit设置为FALSE。如图3.
图3
图 4
技巧:用惯了VC#的智能感知,很不习惯VC里面没有智能感知。不过据我所知早在VC6里面就有个快捷键 Alt+→ 来实现类似智能感知的功能,如图3中,输入 is 后,同时按下Alt + →这两个键就出现了供选择变量、方法、宏等的列表,继续输入 in 后,isInit就出来了。
2、分割窗体
分割窗体的动作应该在主窗体创建客户区的时候执行。在MainFrm中对OnCreateClient消息进行重写就可以达到我们的目的。
在VC2008中,单击“视图”,“类视图”,选中CMainFrm,右键,选择“属性”,如图5.
图5
在“属性”窗口右上选择“重写”,如图6. 就是“闪电”右边的右边那个。
图6
向下拉动滚动条,找到OnCreateClient,选择 添加 OnCreateClient。如图7.
图7
在新创建的函数中写代码,如图8。
图8
CreateStatic函数中,参数依次是父窗口、分成几行、分成几列。如上代码,我们是要分成1行2列。
3、创建视图
在上一步中,我们把窗体分割成两个面板。如果不继续分割成更多子面板的话,就必须绑定一个视图到一个面板上。在调用了CreateStatic 之后,接着绑定默认视图到那两个面板上。如图9。还是图8的那个函数里接着写的。
图9
RUNTIME_CLASS是MFC中的一个宏,用来动态创建一个类。侯捷的《深入浅出MFC》里面有详述。
为了能使代码生效,还需要做如下设置。在MainFrm.cpp中添加CspliterView的头文件,如图10。
图10
在spliterView.h中添加spliterDoc.h的引用。如图11。
图 11
4、改写返回值
把return CFrameWndEx::OnCreateClient(lpcs, pContext); 注释调,添加代码return TRUE;如图12。
图12
5、响应窗体缩放
SetRowInfo和SetColumnInfo函数用来响应窗体大小变化的消息。如图5 至 图7所示,创建WM_SIZE消息处理函数。如图13、图14。
图13
图14
6、F5
???? 请按下F5。
您可能关注的文档
最近下载
- 2022年北京交通大学软件工程专业《计算机组成原理》科目期末试卷B(有答案).docx VIP
- 蒙古族非物质文化遗产研究马头琴及其文化变迁-民族学专业论文.docx VIP
- 民主评议表模板.doc VIP
- 2024年计算机组成原理期末考试试题及答案(共五套).pdf VIP
- 2024年赣南卫生健康职业学院高职单招职业技能测试历年高频考点试题附答案解析.doc
- 外研版三年级下册英语全册同步作业及检测卷教学课件(配2025年春改版教材).pptx
- AI虚拟主播对消费者购买意愿的影响研究.docx VIP
- 2025年安徽高考情势与历史解题技巧+课件+--2025届统编版高三历史一轮复习.pptx VIP
- 一种太阳能柱头灯.pdf VIP
- 大榆树水库设计.docx VIP
文档评论(0)