Visual C++实用教程 周进 朱训林 张宏林 第5章-常用控件

Visual C++实用教程 周进 朱训林 张宏林 第5章-常用控件

ID:40239552

大小:2.14 MB

页数:168页

时间:2019-07-28

Visual C++实用教程 周进 朱训林 张宏林 第5章-常用控件_第1页
Visual C++实用教程 周进 朱训林 张宏林 第5章-常用控件_第2页
Visual C++实用教程 周进 朱训林 张宏林 第5章-常用控件_第3页
Visual C++实用教程 周进 朱训林 张宏林 第5章-常用控件_第4页
Visual C++实用教程 周进 朱训林 张宏林 第5章-常用控件_第5页
资源描述:

《Visual C++实用教程 周进 朱训林 张宏林 第5章-常用控件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章 常用控件在与用户的交互过程中,控件(Control)担任着重要的角色。MFC提供了大量的控件类,它们封装了控件的功能,通过这些控件类,可以方便地创建控件,对控件进行查询和控制。控件大致可分为两类,一类是在Windows3.x中就已支持的传统控件,另一类是Windows95/NT/2000中支持的新型Win32控件,所有的控件类都是CWnd类的直接或间接派生类。注意,对于新型Win32控件,应用程序只能创建控件对象而不能创建数据变量。不管是哪些类型的控件,一般都具有WS_CHILD和WS_VISIBLE窗口风格,其中WS_CHI

2、LD指定窗口为子窗口,WS_VISIBLE使窗口是可见的。另外,大部分控件还具有WS_TABSTOP风格,WS_TABSTOP使控件具有Tabstop属性。MFC类库提供的主要控件如表5-1所示。表5-1常用控件列表控件功能对应控件类静态文本(StaticText)显示正文,一般不能接收输入信息CStatic图片(Picture)显示位图、图标、方框和图元文件,一般不能接收输入信息CStatic文本编辑框(EditBox)输入并编辑正文,支持单行和多行编辑CEdit命令按钮(Button)响应用户的输入,触发相应的事件CButton检

3、查框(CheckBox)用作选择标记,可以有选中、不选中和不确定3种状态CButton单选按钮(RadioButton)用来从两个或多个选项中选中一项CButton续表控件功能对应控件类组框(GroupBox)显示正文和方框,主要用来将相关的一些控件聚成一组CButton列表框(ListBox)显示一个列表,用户可以从该列表中选择一项或多项CListBox组合框(ComboBox)是一个编辑框和一个列表框的组合,分为简易式、下拉式和下拉列表式CComboBox滚动条(ScrollBar)主要用来从一个预定义范围值中迅速而有效地选取一个

4、整数值CScrollBar续表控件功能对应控件类列表控件(ListCtrl)主要用来显示列表型报表,提供多种显示模式CListCtrl树形控件(TreeCtrl)主要用来显示树状结构数据CTreeCtrl选项卡控件(TabCtrl)主要用来显示多种重叠的相关对话框界面CTabCtrl达式静态文本控件5.1文本编辑控件5.2按钮控件5.4滚动条控件5.3组合框控件5.6图片控件5.7列表控件5.8列表框控件5.5树形控件5.9选项卡控件5.10小结5.115.1静态文本控件静态文本(Statictext)控件是传统控件的一种,传统控件主

5、要包括文本控件、命令按钮、选择框、单选按钮、编辑框、列表框和组合框等,如图5-1所示。图5-1主要传统控件样式5.1.1传统控件通知消息在介绍静态文本控件的用法之前,先讲述传统控件的控件通知消息。控件通过向父窗口发送控件通知消息来表明发生了某种事件。例如,在按钮上单击鼠标时,按钮控件会向父窗口发送BN_CLICKED消息。传统控件的通知消息实际上是通过WM_COMMAND消息发给父窗口的(滚动条除外),在该消息的wParam中含有通知消息码(如BN_CLICKED)和控件的ID,在lParam中则包含了控件的句柄。利用ClassWiz

6、ard可以很容易地为控件通知消息加入消息映射和消息处理函数,这在第4章中的对话框应用程序中已经讲解过了。传统控件的消息映射宏是ON_XXXX,其中XXXX表示通知消息码,如BN_CLICKED。ON_XXXX消息映射宏有两个参数,即控件的ID和消息处理函数名,其格式如下。ON_XXXX(nID,memberFxn)消息处理函数的声明形式如下:afx_msgvoidmemberFxn();有时,为了处理方便,需要把多个ID连续的控件发出的相同消息映射到同一个处理函数上,这时就要用到ON_CONTROL_RANGE宏。例如,要处理一组单选

7、按钮发出的BN_CLICKED消息,相应的消息映射如下。ON_CONTROL_RANGE(BN_CLICKED,IDC_FIRST,IDC_LAST,OnRadioClicked)ON_CONTROL_RANGE消息映射宏的第1个参数是控件消息码,第2和第3个参数分别指明了一组连续的控件ID中的头一个和最后一个ID,最后一个参数是消息处理函数名。函数OnRadioClicked比OnAdd-memberFxn多了一个参数nID以说明发送通知消息的控件ID,其声明如下。afx_msgvoidOnRadioClicked(UINTnID)

8、;注意,ClassWizard不支持ON_CONTROL_RANGE宏,所以需要手工建立消息映射和消息处理函数。5.1.2静态控件的使用静态控件主要起说明和装饰作用,包括静态文本(StaticText)控件和图片(Pic

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。