- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC对话框程序若干问题
MFC 对话框程序要点每个 MFC 对话框应用程序都是一个工程(项目) 。一个工程主要由若干个对话框组成。 一个对话框主要由对话框资源和对话框类两部分组成。 对话框资源包括对话框的外观 (大小、 属性、颜色、标题,控件等) ,对话框类由头文件和 CPP 两个文件组成,定义了对话框的各 种操作。 每个控件都有一个 ID,唯一的标识该控件,有的控件还有标题。可以为控件定义一个 映射变量,映射变量的值即是该控件显示的值。 一、界面设置 1、 用 MFC AppWizard(EXE)新建一个对话框类型的窗口对象; 2、 用拖动的方法加入控件(注意控件的 ID 和 caption) ; 3、 设置控件的外观; 4、 为控件添加映射变量; 5、 双击控件添加消息响应函数(默认函数名) ,此添加的函数函数体为空。由于消息是 多样的,使用 ClassWizard 的 Message Map 页面添加消息处理函数更加合适,这时 可用选择为哪个消息添加消息处理函数; 6、 编辑刚添加的消息响应函数以完成所需的工作; 7、 还可用根据需要为对话框类添加新的成员函数(不是消息处理函数) ,添加成员函数 的方法是右击工作区窗格的类视图,出现环境菜单,选择 Add Member Function,就 可以进行操作了。 二、添加新类 1、 在工作区窗格里选择类视图(class view)标签; 2、 右击第一行出现环境菜单; 3、 选择“new class” ; 4、 添加的新类可以是 MFC 的子类也可以是自定义的一般类,在“New class”窗口中可 以选择,例如新类的名字叫 sss; 5、 添加进新类后,要在对话框类的 CPP 文件中加一行“#include sss.h” ,不然新类无 法使用; 6、 新添加的类以两个文件的形式存在,一个是头文件,一个是 CPP 文件,头文件定义 了类的接口,CPP 文件定义了类的实现; 7、 这两个文件可以在脱离工程的状态下进行编辑, 然后覆盖原来的同名文件就可以了; 8、 虽然在添加新类时使用的类名只是代表一个类, 但是在一个文件中可以定义多个类, 只要写好类的接口和类的实现就可以了,这些类都是全局的,可以互相访问,无需 借助友元来进行; 9、 如果需要使用多个新类,也可以逐次用“new class”的方法添加进去,只不过文件 多了一些而已,这样更有利于多人分工编写; 10、 在对话框类中可以定义新类的对象(全局对象) ,但是对象对函数的操纵却只能在 函数中进行; 11、 在一个类文件中所写的每一个新类,在对话框的类视图中都会反映出来。 三、使用列表框 1、 列表类控件共有四种:组合框、列表框、树控件、列表控件框。这些控件均为供操 作者选择而设,组合框和列表框使用基本差不多;树控件还可以作为菜单使用,列 表控件框可以分列显示信息,可以用作信息输出; 2、 组合框、列表框和列表控件框使用函数 Addstring 向框中添加项目; 3、 树控件使用函数 InserItem 插入项目,使用函数 DeleteAllItem 来删除所有项目; 4、 在向树控件添加项目节点前要定义一个 HTREEITEM 类型的数组,该数组中的每个元 素记录着每次向树控件所添加的项目的句柄,为下一次向该项目添加下级项目做准 备;例如: HTREEITEM hLetter[10]; hLetter[1]=m_TreeFile.InsertItem(“A:”); //注释:m_TreeFile 为树控件的映射变量,InteryItem 函数有三个参数, 第一个为字符串,是要插入的项目,第二、三个为 HTREEITEM 类型的项目句柄,表 示要插入项目节点的父节点,如果省略,就表示要插入的是根节点 m_TreeFile.InsertItem(“Windows”,hLetter[1]); //注释:在节点“A”下面插入子节点“Windows” 5、 向列表控件框添加项目。因为列表控件框是报表式的,有行列之分,因此要使用六 个函数来操作: InsertColumn(Number,String,Align,Width) //索引号 Number 从 0 开始, 列标 题为 String,对齐方式 Align 有 LVCFMT_LEFT,LVCFMT_RIGHT 和 LVCFMT_CENTER,列 宽度 Width 单位为象素 DeleteAllItem() //删除所有行 DeleteItem(nItem,Column) //删除句柄 nItem 指向的行的 Column 列的文本 DeleteColumn(Column) //删除 Column 列 InsertItem(Number,String) //插入 String 到新行的 Number
文档评论(0)