频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在单文档程序中动态切换多个窗体

来源:yesky 作者:郎锐 出处:巧巧读书 2006-01-27 进入讨论组
下一页 1 2 

  摘要:本文通过一个程序实例描述了在VC++6.0下如何在单文档程序中通过菜单动态控制多
个窗体的切换。

  一、 引言

  我们在编制程序中根据需求的不同会在程序风格上选择多文档、单文档或是对话框模式
,对于单文档模式可能是我们使用比较多的,但有时我们想采用单文档的形式显示多个不同
的窗体,如作为数据库前台应用程序就会遇到此类问题,数据库由大量的表单组成,而同常
一个窗体内只用来显示一个表单,所以要显示其他的表单时就要用到切换窗体的技术了,下
面就通过一个程序说明该技术的实现方法。

  二、 实现技术

  新建一个基于CFormView的单文档应用程序,再添加一个窗体和与之对应的基于
CFormView的新视类,然后通过在主框架类里添加控制代码和菜单控制实现这两个窗体的动态
切换,下面就是具体的实现过程:

  (一) 用"MFC AppWizard(exe)"建立一个新项目"SwitchForm",并在第二步的创建类型上选
择为"Single documnet"单文档模式,第三、四、五、六步均取确省状态,最后一步选择
"CFormView"作为视类的基类。点按"完成"按钮,生成了初始工程"SwitchForm"。

  (二) 点选菜单"Insert"、"Resource…",在弹出的"Insert Resource"对话框中"Dialog"树
里的"IDD_FORMVIEW",点击"New"按钮,生成了一个新的窗体,将其ID号改为"IDD_NEXTFORM"。
在原有的窗体上加一个静态框"这是第一个窗体";在新建的窗体上也添加一个静态框"这是第二
个窗体"。

  (三) 在菜单资源的"IDR_MAINFRAME"上添加一级菜单"窗体切换",及其二级菜单"第一个窗
体"、"第二个窗体",其标识号分别为"ID_FIRSTFORM"和"ID_SECONDFORM"。修该"第一个窗体"
的属性为"Checked",表明程序初始时显示的是第一个窗体。

  (四) 在"ClassView"属性页里的"SwitchForm classes"上右键,在弹出菜单上选择
"New Class…",弹出"New Class"对话框,选择"Dialog ID:"为我们刚添加的新窗体
"IDD_NEXTFORM",选择"Base class:"为"CFormView",类名取为"CNextFormView",这样就把第
二个窗体对应的视图类添加到了工程。巧 巧 读 书:http://www.qqread.com/vc/e152247200.html进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章