处理工具提示通知
指定 TBSTYLE_TOOLTIPS 样式时,工具栏将创建和管理工具提示控件。 工具提示是一个小型弹出窗口,其中包含描述工具栏按钮的文本行。 工具提示是隐藏的,仅在用户将光标置于工具栏按钮上并在其上停留约半秒时间时显示。 工具提示显示在光标附近。
在显示工具提示之前, TTN_NEEDTEXT 通知消息发送到工具栏的所有者窗口,以检索按钮的描述性文本。 如果工具栏的所有者窗口是一个 CFrameWnd
窗口,则会显示工具提示且无需任何额外工作,因为 CFrameWnd
具有 TTN_NEEDTEXT 通知的默认处理程序。 如果工具栏的所有者窗口不是派生自 CFrameWnd
(如对话框或窗体视图),则必须向所有者窗口的消息映射添加一个条目,并在消息映射中提供通知处理程序。 所有者窗口消息映射的条目如下所示:
ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyDialog::OnTtnNeedText)
备注
memberFxn
此按钮需要文本时调用的成员函数。
请注意,工具提示的 ID 始终为 0。
除了 TTN_NEEDTEXT 通知外,工具提示控件还可以将以下通知发送到工具栏控件:
通知 | 含义 |
---|---|
TTN_NEEDTEXTA | 工具提示控件只需要 ASCII 文本(仅限 Windows 95) |
TTN_NEEDTEXTW | 工具提示控件只需要 UNICODE 文本(仅限 Windows NT) |
TBN_HOTITEMCHANGE | 指示热项或突出显示的项已更改。 |
NM_RCLICK | 指示用户已右键单击按钮。 |
TBN_DRAGOUT | 指示用户已单击该按钮,并将指针从按钮上拖动。 它允许应用程序从工具栏按钮实现拖放。 收到此通知时,应用程序将开始拖放操作。 |
TBN_DROPDOWN | 指示用户已单击使用 TBSTYLE_DROPDOWN 样式的按钮。 |
TBN_GETOBJECT | 指示用户将指针移到使用 TBSTYLE_DROPPABLE 样式的按钮上。 |
有关示例处理程序函数以及有关启用工具提示的详细信息,请参阅工具提示。