CObject |
└CCmdTarget |
└CWnd |
└CToolBarCtrl |
1. | 构造该CToolBarCtrl对象。 | ||||||
2. | 调用Create来创建Windows工具条通用控件并将它与该CToolBarCtrl对象连接。通过使用风格来指定工具条的风格,如对一个透明的工具条使用TBSTYLE_ TRANSPARENT,或对一个支持风格按钮的工具条使用TBSTYLE_DROPDOWN。 | ||||||
3. | 指明你希望按钮在工具条上如何显示:
| ||||||
4. | 通过调用AddButtons将按钮结构添加到工具条中。 | ||||||
5. | 如果你希望在一个不是CFrameWnd的属主窗口中的工具条具有工具提示,则你必须在工具条的属主窗口中处理TTN_NEEDTEXT消息,就像在CToolBarCtrl:处理工具提示通知中描述的一样。如果工具条的父窗口是由CFrameWnd派生而来的,则你不用作任何额外的努力就可以显示工具提示,因为CFrameWnd提供了一个缺省的处理函数。 | ||||||
6. | 如果你希望能够让用户定制工具条,则在属主窗口中处理定制通知消息,就像在CToolBarCtrl:处理定制通知中描述的一样。 |
CToolBarCtrl | 构造一个CToolBarCtrl对象 |
Create | 创建一个工具条控件并将它与一个CToolBarCtrl对象连接 |
IsButtonEnabled | 指示一个工具条控件中的指定按钮是否是有效的 |
IsButtonChecked | 指示一个工具条控件中的指定按钮是否被核选了 |
IsButtonPressed | 指示一个工具条控件中的指定按钮是否被压住 |
IsButtonHidden | 指示一个工具条控件中的指定按钮是否被隐藏 |
IsButtonIndeterminate | 指示一个工具条控件中的指定按钮的状态是否是不确定的(灰的) |
SetState | 设置一个工具条控件中的指定按钮的状态 |
GetState | 获取关于一个工具条控件中的指定按钮的状态的信息,比如它是有效的、被压住的,或是被核选的 |
GetButton | 获取一个工具条控件中的指定按钮的信息 |
GetButtonCount | 获取当前在该工具条控件中的按钮的数目 |
GetItemRect | 获取一个工具条控制中的按钮的边界矩形 |
GetRect | 获取一个特定工具条按钮的边界矩形 |
SetButtonStructSize | 指定TBBUTTON结构的大小 |
GetButtonSize | 获取的像素表示的工具条按钮当前宽度和高度 |
SetButtonSize | 设置要被添加到一个工具条控件中去的按钮的尺寸 |
SetBitmapSize | 设置要被添加到一个工具条控件中去的位图图像的尺寸 |
GetToolTips | 获取与此工具条控件相关联的工具提示控件(如果有的话)的句柄 |
SetToolTips | 将一个工具提示控件与该工具条控件关联 |
SetOwner | 设置接收来自工具条控件的通知消息的窗口 |
GetRows | 获取当前显示在工具条中的按钮的行数 |
SetRows | 设置显示在工具条中的按钮的行数 |
SetCmdID | 设置当指定按钮被按下时,要发送到属主窗口的命令标识符 |
GetBitmapFlags | 获取与工具条位图相关联的标志 |
GetDisabledImageList | 获取被一个工具条控件用来显示无效按钮的图像列表 |
GetHotImageList | 获取被一个工具条控件用来显示“热点”按钮的图像列表。当鼠标指针在一个热点控件上时,该控件被加亮显示 |
GetImageList | 获取被一个工具条控件用来显示缺省状态按钮的图像列表 |
GetStyle | 获取一个工具条控件当前使用的风格 |
GetMaxTextRows | 获取显示在一个工具条按钮上的文本行的最大行数 |
IsButtonHighlighted | 检验工具条控件的加亮状态 |
SetButtonWidth | 设置工具条控件中的按钮宽度的最大和最小值 |
SetDisabledImageList | 设置将要被工具条控件用来显示无效按钮的图像列表 |
SetHotImageList | 设置将要被工具条控件用来显示“热点”按钮的图像列表 |
SetImageList | 设置将要被工具条控件用来显示缺省状态按钮的图像列表 |
GetDropTarget | 获取一个工具条控件的IDropTarget接口 |
SetIndent | 设置一个工具条控件中的第一个按钮的缩排 |
SetMaxTextRows | 设置一个工具条按钮所显示的最大文本行数 |
SetStyle | 设置一个工具条控件的风格 |
GetAnchorHighlight | 获取一个工具条的固定的加亮设置 |
SetAnchorHighlight | 设置一个工具条的固定的加亮设置 |
GetHotItem | 获取一个工具条中的热点项的索引 |
SetHotItem | 设置一个工具条中的热点项的索引 |
GetInsertMark | 获取工具条的当前插入标记 |
SetInsertMark | 设置工具条的当前插入标记 |
GetMaxSize | 获取工具条中的所有可视按钮和分隔线的总的尺寸 |
InsertMarkHitTest | 获取一个工具条中的某个点的插入标记信息 |
GetExtendedStyle | 获取一个工具条控件的扩展风格 |
SetExtendedStyle | 设置一个工具条控件的扩展风格 |
GetInsertMarkColor | 获取用来绘制工具条的插入标记的颜色 |
SetInsertMarkColor | 设置用来绘制工具条的插入标记的颜色 |
MapAccelerator | 将一个加速键映射到一个工具条按钮 |
MoveButton | 将一个按钮从一个索引移动到另一个索引 |
HitTest | 确定一个点位于一个工具条控件的什么地方 |
EnableButton | 使一个工具条控件中的按钮有效或无效 |
CheckButton | 核选或清除一个工具条控件中的指定按钮 |
PressButton | 按下或释放一个工具条控件中的指定按钮 |
GetButtonInfo | 获取工具条中的一个按钮的信息 |
SetButtonInfo | 设置工具条中的一个按钮的信息 |
SetDrawTextFlags | 设置Win 32中DrawText功能的标志,该功能通常根据标志设置的指定矩形、格式设置文本 |
HideButton | 隐藏或显示一个工具条控件中的指定按钮 |
Indeterminate | 设置或清除一个工具条控件中的指定按钮的不确定(灰的)状态 |
AddBitmap | 将一个或更多个位图按钮图像添加到一个工具条控件可用的按钮图像列表中 |
AddButtons | 将一个或多个按钮添加到一个工具条按钮中 |
InsertButton | 在一个工具条控件中插入一个按钮 |
DeleteButton | 从该工具条控件中删除一个按钮 |
CommandToIndex | 获取与指定的命令标识符相关联的按钮的从零开始的索引 |
RestoreState | 恢复该工具条控件的状态 |
MarkButton | 设置在一个工具条控件中给定的高亮状态 |
LoadImages | 将位图定位到工具条控件的图像列表中 |
SaveState | 保存该工具条控件的状态 |
Customize | 显示CustomizeToolbar对话框 |
AddString | 将作为一个资源ID传递的新字符串添加到工具条的内部字符串列表中 |
AddStrings | 将一个或多个新字符串添加到工具条的内部字符串列表中,是通过传递指向这些用.空字符分隔的字符串的缓冲区的指针来传递这些字符串的 |
AutoSize | 调整一个工具条控件的尺寸 |
memberFxn | 当这个按钮的文本需要显示时将被调用的成员函数。 |
通知消息 | 含义
TTN_NEEDTEXTA | 需要ASCII文本的工具提示控件(只在Win95下)
| TTN_NEEDTEXTW | 需要UNICODE文本的工具提示控件(只在Windows NT下)
| TBN_HOTITEMCHANGE | 表示热点(被加亮的)项已经改变了
| NM_RCLICK | 表示用户用鼠标右键单击一个按钮
| TBN_DRAGOUT | 表示用户点击按钮并拖动指针离开了按钮。它支持应用程序实现对一个工具条按钮的拖放。但接收到这个通知时,应用程序将开始拖放操作
| TBN_DROPDOWN | 表示用户已经点击了一个使用TBSTYLE_DROPDOWN风格的按钮
| TBN_GETOBJECT | 表示用户已经将指针移动到了一个使用TBSTYLE_DROPDOWN风格的按钮上
| |
wNotifyCode | 通知消息标识符代码,比如TBN_BEGINADJUST。 |
idControl | 发送通知的控件的标识符。 |
memberFxn | 当这个通知被接收时要被调用的成员函数。 |
hwndFrom | 正发送通知的控件的窗口句柄。要将这个句柄转换为一个CWnd指针,可以使用CWnd::FromHandle。 | ||||||||||||||||||||||||
idFrom | 发送通知的控件的标识符。 | ||||||||||||||||||||||||
code | 通知代码。这个成员可以是一个特定于一个控件类型的值,比如TBN_BEGINADJUST 或TTN_NEEDTEXT,或者它可以是下面列出的普通通知值中的一个:
typedef struct { NMHDR hdr; // 对所有WM_NOTIFY消息都通用的信息 int iItem; // 与通知相关联的控件的的索引 TBBUTTON tbButton; // 与通知相关联的控件的信息 int cchText; // 按钮文本中的字符数 LPSTR lpszText; // 按钮文本的地址 } TBNOTIFY, FAR* LPTBNOTIFY; | ||||||||||||||||||||||||
hdr | 对所有WM_NOTIFY消息都通用的信息。 | ||||||||||||||||||||||||
iItem | 与通知相关联的控件的的索引。 | ||||||||||||||||||||||||
tbButton | 包含与通知相关联的工具条控件信息的BBUTTON结构。 | ||||||||||||||||||||||||
cchText | 按钮文本中的字符数。 | ||||||||||||||||||||||||
lpszText | 指向按钮文本的指针。 |
· | TBN_BEGINADJUST | 当用户开始定制一个工具条控件时发送此通知。指针指向的NMHDR结构包含了有关这个通知的信息。处理程序不需要返回任何值。 |
· | TBN_BEGINDRAG | 当用户开始拖动一个工具条控件中的按钮时发送此通知。指针指向一个TBNOTIFY结构。iItem成员包含了被拖动的按钮的从零开始的索引。处理程序不需要返回任何特定的值。 |
· | TBN_CUSTHELP | 当用户在Customize Toolbar对话框中选择了Help按钮时发送此通知。没有返回值。指针指向一个NMHDR结构,该结构包含了有关这个通知消息的信息。处理程序不需要返回任何特定的值。 |
· | TBN_ENDADJUST | 当用户停止定制有关工具条时发送此通知。指针指向一个NMHDR结构,该结构包含了有关此通知消息的信息。处理程序不需要返回任何特定的值。 |
· | TBN_ENDDRAG | 当用户停止拖动一个工具条控件中的按钮时发送此通知。指针指向一个TBNOTIFY结构。iItem成员包含了被拖动的按钮的从零开始的索引。处理程序不需要返回任何特定的值。 |
· | TBN_GETBUTTONINFO | 当用户正在定制一个工具条控件时发送此通知。工具条使用这个通知消息来获取Customize Toolbar对话框需要的信息。指针指向一个TBNOTIFY结构。iItem成员指定了一个按钮的从零开始的索引。lpszText和cchText成员指定当前按钮文本的地址和以字符数表示的长度。应用程序应该用有关这个按钮的信息来填充该结构。如果按钮的信息被拷贝到了结构中,则返回TRUE;否则就返回FALSE。 |
· | TBN_QUERYDELETE | 当用户正在定制一个工具条时发送此消息,以确定一个按钮是否可以被从工具条控件中删除。指针指向一个TBNOTIFY结构。iItem成员包含了要被删除的按钮的从零开始的索引。如果允许该按钮被删除则返回TRUE;否则返回 FALSE来禁止该按钮被删除。 |
· | TBN_QUERYINSERT | 当用户正在定制一个工具条控件时发送此通知,以确定一个按钮是否可以被插入到指定按钮的左边。指针指向一个TBNOTIFY结构。iItem成员包含了要被插入的按钮的从零开始的索引。如果允许一个按钮被插入到给定按钮的前面,则返回TRUE;否则返回FALSE来禁止该按钮被插入。 |
· | TBN_RESET | 当用户重新设置Customize Toolbar对话框时发送此通知。指针指向一个NMHDR结构,该结构包含了有关这个通知消息的信息。处理程序不需要返回任何特定的值。 |
· | TBN_TOOLBARCHANGE | 在用户定制完一个工具条控件之后发送此通知。指针指向一个NMHDR结构,该结构包含了有关这个通知消息的信息。处理程序不需要返回任何特定的值。 |