1 / 75
文档名称:

第9章控件.ppt

格式:ppt   大小:3,825KB   页数:75页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第9章控件.ppt

上传人:文库新人 2022/1/14 文件大小:3.74 MB

下载得到文件列表

第9章控件.ppt

相关文档

文档介绍

文档介绍:第9章控件
现在学****的是第1页,共75页
可视化编程概述
控件
控件是Windows系统按类预(自)定义的用户界面或特殊功能模块,它们是窗口类的子类。控件主要应用在对话框中,用户通过操作控件对象完成与应用程序之间的交互。
Windows系统提供的标准控件 (表9-1)
按钮控件 - CButton 按钮,放在窗口中使用
滚动条控件 - CScrollBar ,窗口中的一个控件,滚动窗口
静态控件 - CStatic 显示文本,或在小窗口中在提供消息或图形等
列表框控件 - CListBox 同时显示多条信息,集中显示同类的内容。
编辑框控件 - CEdit ,在窗口中,接收键盘输入
组合框控件 - CComboBox 显示(编辑)一条信息,有多条可选,两种预定义窗口的组合
树控件 - CTreeCtrl 树,供增删改选
现在学****的是第2页,共75页
控件消息及通知代码
在应用程序执行中,对控件操作可引发事件而产生消息。
API中的控件消息(MFC不使用):WM_COMMAND。
当用户在控制框中完成了某个动作(压下按钮)时,就发送一条
WM_COMMAND通知消息给对话框窗口过程。附加信息如下:
LOWORD(wParam) 控制框标识符;
HIWORD(wParam) 消息的通知代码;
lParam(32位) 控制框窗口句柄。
MFC控件消息通知代码(表9-2),各控件的通知代码是不同的。
控件常用函数(略)
显示或隐藏控件窗口函数:ShowWindow()
改变控件窗口的位置和尺寸函数: MoveWindow()
向特定的子窗口发送消息的函数:SendMessage()
例:用户单击圆按钮时,向圆按钮发送BM_SETCHECK消息:
SendMessage(hwndRadioButton,BM_SETCHECK,1,O);
向指定的对话框控件发送消息函数:
SendDlgItemMessage(hdlg,ID,message,wParam,IParam);
其中 hdlg为对话框句柄, ID为通知代码。
现在学****的是第3页,共75页
按钮控件及其应用
按钮类型(图9-9、9-10)
按钮,矩形子窗口,可响应鼠标单击或回车键的消息。
普通按钮(PUSHBUTTON)与默认普通按钮(DEFPUSHBUTTON)
矩形子窗,按钮上可设置文本或图标、位图等。用户单击按钮时,应用程序立即执行相应动用。
默认普通按钮,带有一个加粗的黑框,表示已接收键盘输入焦点,若按回车键(或第一次按Tab键)就能按下该按钮。
圆按钮(RADIOBUTTON)与自动圆按钮(AUTORADIOBUTTON)
小圆框形状,外加文本,也称为单选按钮。当圆按钮被选中时,圆圈中显示一个黑色实心圆。各圆按钮之间一般具有互斥性(编程完成),只能选择其中某个选项。
自动圆按钮,系统可自动消除其他圆按钮的选中标志,以保证互斥性(不需编程) 。
复选框(CHECKBOX)与自动复选框(AUTOCHECKBOX)
小方框形状,外加文本。被选中时方框内会出现一个“√”。复选框各选项之间不存在互斥性,可选择一个或多个(编程完成) 。
自动复选框,单击该复选框时,将自动在“选中/不选中”状态之间切换(不需编程) 。
现在学****的是第4页,共75页
组框(GROUPBOX)
外形为左上角包含文字的矩形框,组框作用是将控件分隔成不同的组并加以说明。
自绘式按钮
自绘式按钮是指由程序负责重绘的按钮。
按钮控件消息映像
用鼠标单击或双击按钮操触发的事件。按钮控件消息类:
ON_BN_CLICKED 单击按钮发送消息
ON_BN_DBLCLICKED 双击按钮发送消息
ON_COMMAND 单击按钮时发送,与ON_BN_CLICKED 类似。
按钮控件的创建过程
MFC的按钮控件CButton类的结构(P188 略)
按钮的样式(表9-3)
CButton类的主要成员函数(表9-4 )查询
用于设置或查询按钮状态的函数(P191),不用构建按钮控件对象,仅需按钮控件的ID。
按钮控件示例
例9-1:创建如图9-9所示的按钮控件系列,
单击普通按钮,显示“按下普通按钮”;
此外还有单选按钮、复选按钮及组框控件等,如图9-10所示。
现在学****的是第5页,共75页
主要步骤如下:
选用AppWizard创建“MFC AppWizard(exe)”类型的项目
step 1时选“Dialog based”类型。
点击Finish按钮,随后的步骤中均选