- 2
- 0
- 约5.4千字
- 约 14页
- 2017-06-07 发布于湖北
- 举报
通用控件
概述
6.1.1 分类用其功能
Windows系统通用控件分类及其功能说明。
类别 控件名 功能说明
窗口控制类 工具栏 一组快捷的操作按钮 工具栏提示 工具栏的简要说明 状态栏 显示窗口信息 资源管理类 列表视图 显示列表项的细节 树形视图 显示列表项的层次 滚动类 跟踪条 度量标志 微调按钮控件 文本框中使用的递增或递减按钮
其他 属性表 显示对象一系列属性的对话框 拖动列表 支持拖放操作的列表框 大容量文本框 支持多种字体及基本OLE功能的文本框 热键 支持用户创建的热键 动画 播放动画显示长时间操作的进度 标题头 列表视图标题 标签 显示项目列表 进度指示器 指示长时间操作的进度
6.1.2 创建
创建通用控件包含以下三个步骤:
1.在源文件中包含COMCTL.H文件
除在源文件中包含COMCTL.H文件外,还应将COMCTL32.LIB库文件加入到链接程序可访问的库文件中。
2.初始化通用控件
通过调用API函数InitCommonControls初始化通用控件,该函数的原型为:
Void InitCommonControls();
3. 调用API函数生成通用控件
Windows通用控件也是应用程序创建的子窗口,因此可通过调用函数CreateWindow创建。应用程序救灾可调用特定函数创建某些通用控件,例如调用函数CreateToolBarEx创建工具栏,调用函数CreateStatusWindowEx创建状态栏等。
6.1.3 通用控件与应用程序间消息传递
与Windows标准控件相似,应用程序操作Windows通用控件也通过消息传递完成。
1.通用控件向应用程序发送消息
大多数的通用控件向应用程序发送WM_NOTIFY消息而非WM_COMMAND消息,以通知用户的交互请求。通常情况下,WM_NOTIFY消息的字参数(wParam)中包含通用控件的标识(ID),长参数(lParam)中包含如下定义的NMHDR数据结构地址:
typedef struct tagNMHDR
{
HWND hwndFrom;//控件句柄
UINT idFrom; //控件标识
UINT code; //通知码
}NMHDR;
下面的程序段说明应用程序在窗口函数中处理通用控件的常用过程:
LPNMHDR lpnmhdr;
……
case WM_NOTIFY
{
……
lpnmhdr=(LPNMHDR)lParam;
……
switch(lpnmhdr-idFrom)
{
case …://通用控件标识
switch(lpnmhdr-code)
{
case…: //通知码
…
break;
case…:
…
break;
}
break;
case…: //通用控件标识
……
break;
}
并非所有通用控件均响应用程序发出WM_NOTIFY消息。例如当用户单击工具栏中的按钮后,工具将向应用程序发出WM_COMMAND消息,该消息的字参数和长参数所包含的内容与标准控件中按钮相似。当用户操作滚动类通用控件时,该类控件将向应用程序发出WM_VSCROLL或WM_HSCROLL消息,而非WM_NOTIFY消息。
2.应用程序向通用控件发送消息
与标准控件相似,应用程序通过函数Sendmessage发送消息给通用控件。
窗口控件类通用控件
窗口类通用控件包括工具栏、工具栏提示和状态栏。
6.2.1 工具栏
工具栏是WindowsGUI中常使用的控件。
1.功能与特点
工具栏实际上是一种图形化的菜单按钮,程序员通过工具栏将常用选项以图形化、平面化方式提供给用户,不但使图形用户界面生动形象,而且方便了用户操作。
2.创建
应用程序中工具栏的创建常使用函数CreateToolBarEx完成,该函数原型为:
HWND CreateToolBarEx(HWND hwnd,//工具栏?父窗口句柄
DWORD dwStyle, //工具栏风格
原创力文档

文档评论(0)