[理学]第9章 对话框高级编程.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第9章 对话框高级编程

2. 属性表(Property sheet) 属性表(Property sheet)又称属性对话框,其形式和功能都类似于前面介绍的标签对话框。一个属性表由一个CPropertySheet类对象和多个CPropertyPage类对象构成,CPropertySheet类或其派生类对象代表一个属性表,CPropertyPage派生类对象代表每个不同的属性页。 虽然CPropertySheet派生于CWnd,但属性表的使用方法与CDialog类似,即先调用构造函数创建属性表,然后调用CPropertySheet::AddPage()函数将属性页加入属性表中,最后调用CPropertySheet:: DoModal()创建一个模态属性表,或调用CPropertySheet::Create()函数创建非模态属性表。 一个属性页对应一个对话框,用于进行数据的输入和输出。CPropertyPage类派生于CDialog类,因此,每个属性页实际上就是一个对话框。我们可以利用对话框编辑器为每个属性页添加控件,并可利用ClassWizard创建自己的派生类,添加与控件关联的成员变量和消息处理函数。 例 利用属性表实现与前例相同的功能。 图像列表(Image list)是一个由一些大小相同的图像(如图标或位图)组成的集合,如图所示。图像列表本身只是一种存储结构,这种存储结构与数组极为相似,存储在图像列表中的每个图像通过一个索引值识别。 图像列表不是控件,没有对应的控件窗口,我们不能直接看见它,但可利用MFC图像列表类或图像列表的关联控件来显示图像列表中的图像。 图像列表由MFC类CImageList支持。CImageList类提供了创建、显示和管理图像列表的方法,调用CImageList类的成员函数Create()创建图像列表,调用函数Add()或Remove()向图像列表中添加或删除一个图像,调用函数GetImageCount()获得图像列表中图像个数,调用函数Draw()绘制图像。 编程时可以直接使用图像列表,但图像列表最主要的用途还是作为与其相关联控件的显示项的图形标志,如图片控件、列表视控件、树视控件、扩展组合框、标签控件和属性页等。 列表视(List view)控件也称列表控件,在需要以报表形式显示数据时,列表视控件是最好的选择。区别于列表框,列表视控件可显示由多个子项组成的项目,并允许以多种方式显示信息。列表视控件还可以为显示的项目增加一个图标,但代表项目的图标必须存储在一个图像列表中。 列表视控件包含一个项目列表,而其中每一个项目由图标、项目名称(主项)和多个子项组成,每个项目所包含子项的数目必须相同,属性相同的每个子项显示在同一列中。列表视控件有两个重要的数据结构LVCOLUMN和LVITEM。 列表视控件的属性一般使用其默认值,其常用的属性有:View指定程序运行后列表视控件最初显示的方式,可设置为Icon(大图标)、Small Icon(小图标)、List(列表)或Report(报表);Single selection 表示每次只能选中一个项;Auto arrange使得项目在Icon和Small Icon显示方式下能够自动排列整齐;Edit Labels表示可以编辑项目的卷标,即主项(第0列)的文本,这时需要添加控件通知消息LVN_ENDLABELEDIT的处理函数;No column header取消控件所有列的标题。 列表视控件有多种显示形式,其细节由控件本身实现的。MFC提供了CListCtrl类用于实现列表视控件的各种功能,如对项目进行添加、删除、修改和检索等。主要成员函数:InsertItem()或DeleteItem()插入或删除一个主项,GetItemText()或SetItemText()获得或添加子项文本;GetItemCount()获取项目的总数(行数);FindItem()查找具有某些特征的项目;GetNextItem()查找并返回某些项目的索引,常用于查找当前选择的项目;SetImageList()把图像列表与列表视控件关联;InsertColumn()或DeleteColumn()插入或删除一个列。 树视(Tree view)控件也称树控件,用于表示有层次关系的事物或能够进行分类划分的对象。 树视图控件中每个项目由项目名称和一个可选择的图标组成,项目分为父项目和子项目,一个父项目拥有一个子项目列表,双击父项目可以展开或折叠其中的子项目。父项目位于子项目的上一层,子项目又可以是低一层子项目的父项目。 树视控件编程时常用到的数据结构:TVITEM结构和TVINSERTSTRCT结构。TVITEM结构用于定义项目,TVINSERTSTRCT结构用于定义插入项,

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档