



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(转)从头开始如何利用MFC分割窗口 程序所采用平台为Microsoft Visual C+6.0,将要得到如下效果在网络上找到一些窗口分割的程序和方法说明,但是有说明的没有非常明确的编写顺序,有源码的又不是很容易理解,对于新手来讲,都有不小的难度,自己琢磨了一天,终于做了一个合乎自己预期要求的窗口分割程序,以备后续使用。现在把具体的实现步骤从头到尾表述出来,希望能对其他人有所帮助。 首先建立MFC AppWizard(exe),取名字为SplitterWnd,下一步,选择单文档“Single document”,其他默认,点击“完成”。 点击ResourceView,在Dialog下插入两个个Dialog窗口用于稍后的分割后的窗口,ID号分别改为“IDD_FORMVIEW1”和“IDD_FORMVIEW2”。记得及时保存。 单击ClassView标签,添加2个类,当然也可以从ClassWizard中添加,名字叫FormView1,类选择CFormView,Dialog ID选择IDD_FORMVIEW1,另一个类叫FormView2,ID选择IDD_FORMVIEW2。 在CMainFrame中添加两个成员变量,类型都为CSplitterWnd,变量名分别为m_splitter和m_splitter1,然后添加一个虚函数OnCreateClient,点击编辑代码,将如下代码更改 BOOLCMainFrame:OnCreateClient(LPCREATESTRUCTlpcs,CCreateContext*pContext)/TODO:Addyourspecializedcodehereand/orcallthebaseclassreturnCFrameWnd:OnCreateClient(lpcs,pContext);改为BOOLCMainFrame:OnCreateClient(LPCREATESTRUCTlpcs,CCreateContext*pContext)/创建一个静态分栏窗口,分为一行二列if(m_splitter.CreateStatic(this,1,2)=NULL)returnFALSE;/将CCSplitterWndView连接到0行0列窗格上m_splitter.CreateView(0,0,RUNTIME_CLASS(CSplitterWndView),CSize(600,600),pContext);if(m_splitter1.CreateStatic(&m_splitter,2,1,WS_CHILD|WS_VISIBLE,m_splitter.IdFromRowCol(0,1)=NULL)returnFALSE;/将第0行1列再分开2行1列/将FormView1类连接到第二个分栏对象的0行0列m_splitter1.CreateView(0,0,RUNTIME_CLASS(FormView1),CSize(200,400),pContext);/将FormView2类连接到第二个分栏对象的1行0列m_splitter1.CreateView(1,0,RUNTIME_CLASS(FormView2),CSize(200,200),pContext);returnTRUE;添加头文件:#includeSplitterWndDoc.h#includeSplitterWndView.h#includeFormView1.h#includeFormView2.h好了,现在编译运行,可以得到分栏的结果了。但是可以看到,得到的窗口位置随机,窗口大小可以随意改变,所以我们可以再增加语句进行设置,仍然在框架类中添加voidCMainFrame:OnGetMinMaxInfo(MINMAXINFOFAR*lpMMI)/TODO:Addyourmessagehandlercodehereand/orcalldefaultlpMMI-ptMaxTrackSize.x=820;lpMMI-ptMaxTrackSize.y=720;lpMMI-ptMinTrackSize.x=820;lpMMI-ptMinTrackSize.y=720;CFrameWnd:OnGetMinMaxInfo(lpMMI);在CMainFrame:OnCreate中添加如下语句,使得窗口居中CenterWindow(NULL);由于固定了窗口的大小,所以需要屏蔽掉最大化按钮,使用户不会觉得如此不正规,在CMainFrame:PreCreateWindow中添加cs.style&=WS_MAXIMIZEBOX;/屏蔽最大化按钮这样,一个初级的窗口分割就做完了,庆祝一下吧!注:让CFormView窗口加上去.要先设置它的属性.否则会产生错误.设置窗口属性. Styles标签下的Style:Child 和Border:None其他参考资料分割参考资料/Lee/archive/2008/09/18/62232.html/blog/cns!CE6F552D3BD9A192!137.entry/zhangyin/archive/2007/01/17/622164.html/document/viewdoc/?id=192/debug1984/archive/2008/12/19/3556420.aspx/vc/2007-10-03/2b5e040d0f7a2e0e4221767984437b4a.html/如果在Frame的菜单调用得到子类的指针/ CMainFrame* pFrame = (CMainFrame *)AfxGetMainWnd();/ CDllSdkView5View* pDllSdkView = (CDllSdkView5View*)pFrame-m_splitter.GetPane(0,1);记忆de碎片关注 - 0粉丝 - 1关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年哈尔滨道里区工程社区卫生服务中心招聘若干名模拟试卷及完整答案详解1套
- 2025年度哈尔滨市木兰县“丁香人才周”(春季)事业单位引才招聘76人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年河北石家庄工程职业学院招聘专任教师56名考前自测高频考点模拟试题附答案详解(突破训练)
- 2025年池州市贵池区事业单位公开招聘67人模拟试卷带答案详解
- 2025年工业互联网平台流量整形技术在工业供应链中的应用报告
- 2025年新能源汽车废旧电池回收利用产业政策效应评估报告
- 2025年甘肃省大数据中心招聘工作人员模拟试卷及参考答案详解一套
- 2025年淮北濉溪博之雅餐饮管理有限公司招聘35人笔试参考题库附带答案详解
- Unit 1 Growing up教学设计小学英语六年级上册牛津上海版(深圳用)
- 第16课 会说话的手(一)(教学设计)苏少版美术四年级上册
- 《研究生入学教育》课件
- 汽车行业中的环境保护与可持续发展
- 打起手鼓唱起歌混声合唱简谱
- 空调安装免责协议
- QGW 201175-2019-金风陆上风力发电机组 塔架通用防腐技术规范
- 老友记第一季字幕
- 输电线路风偏计算基本方法
- 骨科概论课件
- 第5章光电成像系统
- GB/T 9117-2010带颈承插焊钢制管法兰
- GB/T 5455-2014纺织品燃烧性能垂直方向损毁长度、阴燃和续燃时间的测定
评论
0/150
提交评论