第9章 Windows标准控件在可视化编 程中的应用
1 第9章 Windows 标准控件在可视化编 程中的应用
控件是 Windows图形用户界面 的主要组成部分之一,用户通过 操作控件对象完成与应用程序之 间的交互。控件的使用集中体现 了 Windows系统面向对象的特点
2 控件是Windows 图形用户界面 的主要组成部分之一,用户通过 操作控件对象完成与应用程序之 间的交互。控件的使用集中体现 了Windows 系统面向对象的特点
91概述 控件工 临 Aa abl 具栏 口 控件接受的消息 崮脯目 主要有单击、双击 和字符输入等 坚的
3 9.1概述 控件工 具栏 控件接受的消息 主要有单击、双击 和字符输入等
92按钮控件及其应用 普通按钮 圆按钮 按钮{复选框按钮 控件 组框按钮 自绘按钮
4 9.2 按钮控件及其应用 按钮 控件 普通按钮 圆按钮 复选框按钮 组框按钮 自绘按钮
921按钮控件的创建过程 CButton类的成员函数 Create负责创建按 钮控件,该函数的声明为: BOOL Create LPCTSTRIpszCaption,指定了按钮显示的正文 DWORD dw Style, ∥按钮的风格 const rect& rect ∥按钮的位置和大小 CWnd* pParentWnd ∥指向父窗口 UINT nID ∥按钮的ID
5 9.2.1 按钮控件的创建过程 CButton类的成员函数Create负责创建按 钮控件,该函数的声明为: BOOL Create ( LPCTSTR lpszCaption, //指定了按钮显示的正文 DWORD dwStyle, //按钮的风格 const RECT& rect, //按钮的位置和大小 CWnd* pParentWnd, //指向父窗口, UINT nID //按钮的ID )
按钮控件消息: ON BN CLICKED 两个 类似 oN BN DBLCLICKEDY ON COMMAND. 常用于只有两种 完全相反状态 的情况下 复选框一 按钮 适用于同一组属性相 是最单选按钮 同的数据中选一个数据 常见 的控下压式按钮 适用于消息的发送 件之 没有太多的操作 分组框 只是在窗口中划 分区域范围
6 按钮控件消息: ON_BN_CLICKED ON_BN_DBLCLICKED ON_COMMAND 两个 类似 按钮 是最 常见 的控 件之 一 复选框 单选按钮 下压式按钮 分组框 常用于只有两种 完全相反状态 的情况下 适用于同一组属性相 同的数据中选一个数据 适用于消息的发送 没有太多的操作 只是在窗口中划 分区域范围
GetCheck( 在知道按钮D的前 SetCheck() 提下,还可使用与 GetBitmapl 按钮有关的cWnd SetBitmapl 成员函数来设置或 CButton GetButton Style 查询按钮状态 类的成 SetButton Style(0 员函数 Getcursor0 SetCursor( CheckDlq Button Getlcon( CheckRadioButton GetcheckedRadioButton Setlcon( Is DlgButton Checked GetState( GetWindow Tex SetState GetWindow TextLength SetWindow Text
7 GetCheck( ) SetCheck( ) GetBitmap() SetBitmap() GetButtonStyle() SetButtonStyle() GetCursor() SetCursor() GetIcon() SetIcon() GetState() SetState() CButton 类的成 员函数 在知道按钮ID的前 提下,还可使用与 按钮有关的CWnd 成员函数来设置或 查询按钮状态 CheckDlgButton CheckRadioButton GetCheckedRadioButton Is DlgButtonChecked GetWindowTex GetWindowTextLength SetWindowText
MFC还提供了一个 CBitmapButton的类,允 许用户以图标的方式显示按钮,它是在 CButton 下派生的 CObject CCmdTarget CVnd 自定义 CButton 按钮 CBitmapButton MFC调用方法 Drawltem在按钮上绘制位图, LoadBitmaps方法为一个 CBitmapButton对象 附上位图,最多可以有4个位图
8 MFC还提供了一个CBitmapButton的类,允 许用户以图标的方式显示按钮,它是在 CButtong下派生的 MFC调用方法DrawItem()在按钮上绘制位图, LoadBitmaps()方法为一个CBitmapButton对象 附上位图,最多可以有4个位图 自定义 按钮
922按钮控件示例 91 x91 这里是一个按钮,按我吧! 你已按下了按钮! 这是省愆钮,按下着着吧!目 按钮已被按下 单选按钮,你喜欢吗? 单选按钮,你喜欢吗? C自动单选按钮,看看有何区别? 自动单选按钮,看看有何区别? 厂复选按钮 V复选按钮 厂自动复选按钮,你会用吗 自动复选按钮,你会用吗? 组框 组框
9 9.2.2 按钮控件示例
主要步骤: 91 X 1.创建基于对话框项目 2.设置按钮的属性 2 这里是一个按钮,按我吧! 这是缺省按钮,按下看看吧! 单选按钮,你喜欢吗? 4 自动单选按钮,看看有何区别? Group 5复选按钮 IDC BUTTON1 属性 自动复选按钊 DC BUTTON2 7 IDC RADIO1 框 DC RADIO2 Auto DC CHECK1 属性 IDC CHECK2
10 IDC_BUTTON1 IDC_BUTTON2 IDC_RADIO1 IDC_RADIO2 IDC_CHECK1 IDC_CHECK2 Group 属性 Auto 属性 主要步骤: 1. 创建基于对话框项目 2. 设置按钮的属性