电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

mfc静态分割窗口的方法VIP免费

mfc静态分割窗口的方法_第1页
1/7
mfc静态分割窗口的方法_第2页
2/7
mfc静态分割窗口的方法_第3页
3/7
m fc 静态分割窗口的方法 本文主要是对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 中添加 ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

mfc静态分割窗口的方法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部