第9章 Windos标准控件在可视化编程中应用.ppt_第1页
第9章 Windos标准控件在可视化编程中应用.ppt_第2页
第9章 Windos标准控件在可视化编程中应用.ppt_第3页
第9章 Windos标准控件在可视化编程中应用.ppt_第4页
第9章 Windos标准控件在可视化编程中应用.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章Windows标准控件在可视化编程中的应用 1 什么是控件 控件是对数据和方法的封装 实质就是类的定义 2 控件的分类 系统定义控件 Windows标准控件 自定义控件 第三方控件 3 本章控件类型 Windows用户界面控件 9 1可视化编程概述 界面控件运行机制 9 1 1使用可视化工具在基于对话框的应用程序中添加控件 创建基于对话框的应用程序工具箱选择工具箱上某个控件 放置在对话框某处选择对话框上某个控件 可以在 属性 栏中设置其ID及显示风格 9 1 2为控件添加消息映射 两种方式 选择控件 右键快捷菜单 添加事件处理程序 选择消息类型 修改函数处理程序名称 可选 确定控件消息所在的类 添加 选择控件 属性栏 控件事件 选择消息 添加消息处理函数 重点内容 看看消息是如何映射的 以某个按钮的鼠标单击动作为例kjdlg h afx msgvoidOnBnClickedButton3 kjdlg cpp voidCKJDlg OnBnClickedButton3 kjdlg cpp BEGIN MESSAGE MAP CKJDlg CDialog ON BN CLICKED IDC BUTTON3 CKJDlg OnBnClickedButton3 END MESSAGE MAP 9 1 3在应用程序中使用控件 为控件定义标识符 什么时候需要为控件定义标识符 如果只是在设计阶段使用控件 只需要在 属性 窗口设置相应的值即可 如果需要在程序代码中使用控件 则需要为控件指定一个标识符 即定义该控件类的实例对象 步骤 1 选择控件 2 右键菜单项 添加变量 添加成员变量向导 见书P186图9 5 程序代码编写中 控件值的获取 UpdateData FALSE 作用 将控件值更新至变量内存 读取或设置控件值 UpdateData TRUE 将变量内存保存值更新至控件显示 控件学习控件的作用 用于Windows图形用户界面的设计 我们要学习的是系统中已定义的控件类 在编程中使用的这些类的对象 控件 学习的内容 1 控件常用属性 即类的成员变量 2 控件常用功能函数 即类的成员函数 3 控件能响应的常见操作 即类中的消息响应函数 4 控件常见应用实例 按钮控件及其应用 普通按钮 PushButton 单选按钮 RadioButton 复选按钮 CheckButton 组合框 GroupBox 1 普通按钮 PushButton 常用属性Caption 指定由控件显示的文本 DefaultButton 指定控件是否为所在对话框的Enter默认按钮 常用事件BN CLICKED 指示用户单击了按钮 PushButton示例 应用点 1 按钮对鼠标单击响应 2 新窗口的显示 步骤 新建一个基于对话框的MFC应用程序 观察MFC自动建立的项目框架 添加按钮的单击响应事件 编写按钮单击时要执行功能的代码 新建一个对话框 操作资源视图 为对话框生成类 选择对话框 右键 添加类 在需要显示新窗口的代码处 对立上述对话框类的对象 如NewDlg 显示新窗口 调用NewDlg DoModal 2 单选按钮 RadioButton 常用属性Caption 指定由控件显示的文本 Group 互斥按钮分组设置 常用事件 常用于两个单选按钮的处理 BN CLICKED 指示用户单击了按钮 常用函数 非类成员函数 常用于多个单选按钮的处理 GetCheckedRadioButton intnIDFirstButton intnIDLastButton 获取一组单选按钮中被选中按钮的ID RadioButton示例 应用点 1 多组互斥按钮的设置 2 两个单选按钮选中项的处理 3 多个单选按钮选中项的处理 步骤 新建一个基于对话框的MFC应用程序 下列应用于一组两个单选按钮 放置两个RadioButton 即为互斥单选按钮 分别响应两个按钮的单击响应事件 下列应用于多组多个单选按钮 连续放置多个RadioButton在对话框上 每组的第一个按钮的Group属性设置为True 即可完成分组互斥按钮的设置 组中只有两个按钮 可按上述方法操作 多于两个按钮 使用GetCheckedRadioButton函数 3 复选按钮 CheckButton 常用属性Caption 指定由控件显示的文本 常用事件BN CLICKED 指示用户单击了按钮 常用函数 非类成员函数 CheckDlgButton intnIDButton UINTnCheck 设置按钮的选择状态IsDlgButtonChecked intnIDButton 获取按钮的选择状态 CheckButton示例 应用点 1 复选按钮的用户选择状态判断 2 常见的 全选 操作实现 步骤 新建一个基于对话框的MFC应用程序 放置CheckButton按钮 在需要判断用户选择CheckButton按钮状态处使用 IsDlgButtonChecked intnIDButton 函数 nIDButton表示要判断复选按钮的ID号 要实现 全选 操作 需要响应 全选 功能对应的CheckButton按钮的BN CLICKED事件 在BN CLICKED事件中要判断当前复选按钮的状态 通过CheckDlgButton函数设置选中或未选中状态 9 3滚动条控件 HorizontalScrollBar VerticalScrollBar 滚动条控件在使用中一般要定义为标识符 即类的对象 常用函数 滚动条控件类成员函数 SetScrollRange SetScrollRange 设置 获取滚动条的最小 最大滚动位置SetScrollPos GetScrollPos 设置 获取滚动条的当前滚动位置常用消息 注意位置是控件所在对话框的消息 WM HSCROLL 指示用户单击水平滚动条WM VSCROLL 指示用户单击竖直滚动条 HorizontalScrollBar示例 应用点 1 设置滚动条可滚动范围 2 获取滚动条当前位置 3 滚动条使用响应 参考书P200 voidCMy000Dlg OnHScroll UINTnSBCode UINTnPos CScrollBar pScrollBar TODO 在此添加消息处理程序代码和 或调用默认值intiNowPos if pScrollBar 9 4静态控件 Static 静态控件一般不接收消息 只向用户显示信息 常用属性Caption 指定由控件显示的文本 常用函数 非类成员函数 SetDlgItemText intnID LPCTSTRstr 设置控件显示的文本 Static示例 应用点 1 文本显示 静态文本 动态文本 2 位图显示 步骤 新建一个基于对话框的MFC应用程序 静态文本 直接设计时设置控件的Caption属性 动态文本 调用SetDlgItemText 函数 位图显示 在资源视图中添加一个BITMAP类型资源 为Static控件定义一个控件型变量 如m bmp 在加载位图处添加如下代码 m bmp ModifyStyle 0 SS BITMAP HBITMAPhBMP LoadBitmap AfxGetInstanceHandle MAKEINTRESOURCE IDB BITMAP1 m bmp SetBitmap hBMP 9 5列表框控件 ListBox ListBox控件在使用中一般要定义为标识符 即类的对象 作用 存在若干数据项 用户需要从中进行选择 但用户不能编辑 特点 可提供大量的可选项 需要时自动显示滚动条 可设置单选或多选功能 单选时 单击列表项 被选项以高亮显示表示被选中状态 再次单击该选项 则恢复为非选中状态 常用属性Selection 指定用户选择方式 Single 单选 Multiple 多选 但忽略Shift键和Ctrl键 Extended 多选 可以使用Shift和Ctrl键 None 不允许选择任何选项 Sort 指定列表框中的字符串自动排序 常用函数 CListBox类成员函数 GetCurSel SetCurSel 获取 设置选中项 单选模式 GetSelCount 获取选中项个数 多选模式 GetSelItems 获取选中项 多选模式 GetText 将选中项字符串复制到缓冲区GetCount 获取列表框中可选项个数AddString 向列表框中最后位置处加入一个字符串DeleteString 删除列表框中指定位置的一个字符串InsertString 向列表框中指定位置插入一个字符串ResetContent 清除列表框中的所有可选项 ListBox示例 应用点 1 向列表框中添加可选项 2 单选模式下 用户选中项的获取 3 多选模式下 用户选中项的获取 4 在列表框中删除用户选中项 5 删除列表框所有可选项 步骤 新建一个基于对话框的MFC应用程序 向列表框中添加可选项 调用AddString 函数 单选模式下 用户选中项的获取 列表框控件的Selection属性设置为Single 调用GetCurSel 函数 获取用户所选择的列表框项的下标 调用GetText 函数 获取对应下标项的文本 多选模式下 用户选中项的获取 列表框控件的Selection属性设置为Multiple Extended 调用GetSelItems 函数 获取用户所选择的列表框项的下标数组 利用循环结构 调用GetText 函数 获取数组中每一个下标项对应的文本 在列表框中删除用户选中项 一般用于单选 利用前面讲述的方法先获取用户所选择项的下标 调用DeleteString 函数删除下标对应的项 删除列表框所有可选项 调用ResetContent 函数 9 6编辑框控件 CEdit Edit控件在使用中可以定义为标识符 即类的对象 注意 如果编辑的内容为数值 则一般定义为值变量 常用属性Password 编辑框中输入的每个字符均以星号 代替 ReadOnly 设置编辑框是否为只读属性 MultiLine 设置编辑框中的文本为多行显示 缺省为单行显示 常用事件EN CHANGE 编辑框中的文本发生改变EN KILLFOCUS 编辑框失去焦点时 Edit示例 应用点 1 编辑框中数据值的读取 2 编辑框中文本的读取和操作 步骤 编辑框中数据值的读取 将EditControl控件定义为值型 value 变量 对值变量的操作按下列规范进行 UpdateData TRUE 将编辑框中用户输入的值更新至值变量 操作值变量 UpdateData FALSE 将程序中值变量的操作结果更新至编辑框 编辑框中文本的读取和操作 GetDlgItemText 或SetDlgItemText 9 7组合框控件 CComboBox 组合框是由编辑框 CEdit 和列表框 CList 两种控件组合而成的 是既可以进行编辑又可以进行单项选择的控件 因此适用于编辑框 CEdit 和列表框 CList 的方法都适用于组合框控件 CComboBox 9 8 3进度条控件 CProgressCtrl 在使用中可以定义为标识符 即类的对象 常用函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论