的风格 const RECT&; rect, //按钮的位置和大小 按钮的位置和大小 CWnd* pParentWnd, //指向父窗口, 指向父窗口, 指向父窗口 UINT nID //按钮的 按钮的ID 按钮的 )
13
按钮控件消息: 按钮控件消息 ON_BN_CLICKED ON_BN_DBLCLICKED ON_COMMAND
两个 类似
按钮 是最 常见 的控 件之 一
复选框 单选按钮 下压式按钮
常用于只有两种 完全相反状态 的情况下 适用于同一组属性相 同的数据中选一个数据 适用于响应命令
14
CButton 类的成 类的成 员函数
在知道按钮ID的前 在知道按钮 的前 GetCheck( ) 提下, 提下,还可使用与 SetCheck( ) 按钮有关的CWnd 按钮有关的 GetBitmap() 成员函数来设置或 SetBitmap() GetButtonStyle()
查询按钮状态 SetButtonStyle() GetCursor() SetCursor() CheckDlgButton CheckRadioButton GetIcon() GetCheckedRadioButton SetIcon() IsDlgButtonChecked GetWindowText GetState() GetWindowTextLength SetState() SetWindowText 15
MFC还提供了一个 还提供了一个CBitmapButton的类, 的类, 还提供了一个 的类 允许用户以图标的方式显示按钮, 允许用户以图标的方式显示按钮,它是 在CButton下派生的 下派生的
自定义 按钮
MFC调用方法 调用方法DrawItem()在按钮上绘制位图, 在按钮上绘制位图 调用方法 在按钮上绘制位图, LoadBitmaps()方法为一个 方法为一个CBitmapButton对象 方法为一个 对象 附上位图,最多可以有4个位图 附
上位图,最多可以有 个位图
16
4.2.2 按钮控件示例
17
主要步骤: 主要步骤: 1. 创建基于对话框项目 2. 设置按钮的属性
Group 属性 Auto 属性
IDC_BUTTON1 IDC_BUTTON2 IDC_RADIO1 IDC_RADIO2 IDC_CHECK1 IDC_CHECK2
18
3. 添加成员变量并添加消息响应函数
auto风格控 风格控 件不必添加 成员变量
19
void CMy9_1Dlg::OnButton1() { m_btn1.SetWindowText(“ 你 已 按 下 了 按 钮!”); } void CMy9_1Dlg::OnButton2() { m_btn2.SetWindowText(“按钮已被按下!”); } 按钮已被按下! void CMy9_1Dlg::OnCheck1() { if(m_chk1.GetCheck()>0) m_chk1.SetCheck(0); else m_chk1.SetCheck(1); } void CMy9_1Dlg::OnRadio1() { m_rad1.SetCheck(1); }
20
4.3 编辑框控件
编辑框控件看起来是个非常简单的矩形 窗口,但它具有许多功能, 窗口,但它具有许多功能,编辑框控件可以 自带滚动条,显示多行文本。 自带滚动条,显示多行文本。 CEdit是CWnd CEdit是 类直接派生来 的,这就意味 着它具有CWnd 着它具有CWnd 的所有功能
21
编辑框 控件
单行编辑框控件 多行编辑框控件
方法 CanUndo() Clear() Copy() Cut() EmptyUndoBuffer() GetFirstVisibleLine() GetModify() GetPasswordChar() GetRect() GetSel() LimitText() LineFromChar() LineLength() LineScroll() Paste() ReplaceSel() SetModify() SetPass
wordChar() SetReadOnly() SetSel() Undo()
CEdit 类的通用方法 说明 决定一个编辑操作是否可以撤销 从编辑控件中删除当前的选择(如果有的话 如果有的话) 从编辑控件中删除当前的选择 如果有的话 将编辑控件当前的选择以 CF_TEXT 格式复制到剪贴板中 剪下编辑控件中的当前选择并以 CF_TEXT 格式复制到剪贴板中 消除一个编辑控件的“撤销” 消除一个编辑控件的“撤销”标志 确定编辑控件中的最上面的可视行 确定一个编辑控件的内容是否可修改 当用户输入文本时, 当用户输入文本时,获得编辑控件中显示的密码字符 获得一个编辑控件的格式化矩形 获得编辑控件中当前选择的开始和结束字符位置 限定用户可能输入一编辑控件的文本长度 获得包含指定字符下标的行的行号 获得编辑控件中的一行的长度 滚动多行编辑控件的文本 将剪贴板的数据插入到编辑控件作当前的光标位置, 将剪贴板的数据插入到编辑控件作当前的光标位置, 只有当前剪贴板 中数据格式为 CF_TEXT 时方可插入 中数据格式为 用指定文