Windows 中不是从 CFrameWnd 派生的工具提示
此文章系列介绍了如何为未派生自 CFrameWnd 的窗口中包含的控件启用工具提示。 工具栏工具提示一文提供有关 CFrameWnd
中控件的工具提示的信息。
此文章系列的主题包括:
对于从 CFrameWnd
派生的父窗口中包含的按钮和其他控件,系统会自动显示工具提示。 这是因为 CFrameWnd
具有 TTN_GETDISPINFO 通知的默认处理程序,该处理程序处理与控件关联的工具提示控件中的 TTN_NEEDTEXT 通知。
但是,当 TTN_NEEDTEXT 通知发送自与窗口(不是 CFrameWnd
)中的控件关联的工具提示控件(例如对话框或窗体视图上的控件)时,则不会调用此默认处理程序。 因此,必须为 TTN_NEEDTEXT 通知消息提供处理程序函数,这样才能显示子控件的工具提示。
CWnd::EnableToolTips 为窗口提供的默认工具提示没有与其关联的文本。 若要检索要显示的工具提示的文本,TTN_NEEDTEXT 通知将发送到工具提示控件的父窗口,随即将显示工具提示窗口。 如果此消息没有处理程序可将某个值分配给 TOOLTIPTEXT 结构的 pszText 成员,则不会显示工具提示的文本。