以下是一个简单的示例,展示了如何在派生类中重写 OnUserToolTip 方法:
class CMyToolBar : public CMFCToolBar
{
DECLARE_DYNAMIC(CMyToolBar)
public:
CMyToolBar();
virtual ~CMyToolBar();
protected:
virtual BOOL OnUserToolTip(CMFCToolBarButton* pButton, CString& strTTText) const;
};
IMPLEMENT_DYNAMIC(CMyToolBar, CMFCToolBar)
CMyToolBar::CMyToolBar()
{
}
CMyToolBar::~CMyToolBar()
{
}
BOOL CMyToolBar::OnUserToolTip(CMFCToolBarButton* pButton, CString& strTTText) const
{
// 在这里进行自定义的提示信息处理
// 可以根据需要设置不同按钮的提示信息
// 调用基类的 OnUserToolTip 以确保执行默认的处理
if (!CMFCToolBar::OnUserToolTip(pButton, strTTText))
{
// 如果基类未设置提示信息,则在这里设置自定义的提示信息
if (pButton != nullptr && pButton->GetID() == ID_MY_CUSTOM_COMMAND)
{
strTTText = _T("自定义命令提示信息");
return TRUE;
}
}
return FALSE;
}
在上述示例中,CMyToolBar 是一个自定义的工具栏类,通过继承自 CMFCToolBar 并重写 OnUserToolTip 方法,你可以在其中实现自定义的提示信息逻辑。
需要注意的是,使用 OnUserToolTip 方法需要小心,确保不会破坏默认的工具栏提示信息行为。通常,只在需要进行特殊定制时才重写这个方法。
转载请注明出处:http://www.zyzy.cn/article/detail/20353/MFC/CMFCToolBar