CMFCButton::SetToolTip(str)在OnInitDialog()和
我希望我的CMFCButton在鼠标悬停时显示工具提示。 如果我在OnInitDialog中使用SetToolTip()方法,它将不起作用CMFCButton::SetToolTip(str)在OnInitDialog()和,mfc,Mfc,我希望我的CMFCButton在鼠标悬停时显示工具提示。 如果我在OnInitDialog中使用SetToolTip()方法,它将不起作用 CMFCButton* bt = ((CMFCButton*)GetDlgItem(IDC_MFCBUTTON1)); bt->SetTooltip(_T("tooltip")); 但如果我像其他按钮的点击手柄一样将此代码放在消息句柄函数中,它确实可以工作。 我想要的是,当创建对话框时,CMFCButton可以显示工具提示,我应该将这些代码放在哪
CMFCButton* bt = ((CMFCButton*)GetDlgItem(IDC_MFCBUTTON1));
bt->SetTooltip(_T("tooltip"));
但如果我像其他按钮的点击手柄一样将此代码放在消息句柄函数中,它确实可以工作。
我想要的是,当创建对话框时,CMFCButton可以显示工具提示,我应该将这些代码放在哪里
========================
顺便说一下,我在属性视图中设置的工具提示文本在大多数情况下都不起作用 您是否调用了基类'OnInitDialog()?主要的一点是,在对控件调用SetToolTip()之前,需要先创建该控件。使用调试器进入OnInitDialog(),查看在调用SetToolTip()时控件的m_hWnd是否有值。我刚刚派生了一个类
class CMyButton : public CMFCButton
{
public:
void SetDelayFullTextTooltipSet(bool DelayFullTextTooltipSet)
{
m_bDelayFullTextTooltipSet = DelayFullTextTooltipSet;
}
};
我使用的不是对话框类中的CMFCButton
变量,而是CMyButton
在OnInitDialog
中,在调用SetTooltip
之后,我会
button.SetDelayFullTextTooltipSet(FALSE);
是的,我调用了基类“OnInitDialog()”,mfcButton的成员m_pToolTip是有效的。代码bt->GetTooltipCtrl()。GetText(str,bt)可以获得我在属性卡中设置的正确工具提示文本,但它无法显示,除非我在创建对话框后调用setToolTip(str)。相关:我们不能在这里看到完整的类吗?这是正确的答案。应该这样标记。@AndrewTruckle:这是完整的类;不超过此处显示的内容。