在MFC中如何隐藏CEdit的工具提示

在MFC中如何隐藏CEdit的工具提示,mfc,Mfc,我在GUI中添加了一个带有样式ES_编号的编辑控件。当我尝试输入一个字符时,会出现一个带有“不可接受字符”文本的工具提示 是否有可能隐藏此工具提示?您需要从CEdit派生一个类,并处理EM\u showBallootTip消息: 类标题: class CNoTooltipEdit: public CEdit { DECLARE_DYNAMIC(CNoTooltipEdit) public: CNoTooltipEdit(); virtual ~CNoTooltipEdi

我在GUI中添加了一个带有样式ES_编号的编辑控件。当我尝试输入一个字符时,会出现一个带有“不可接受字符”文本的工具提示


是否有可能隐藏此工具提示?

您需要从
CEdit
派生一个类,并处理
EM\u showBallootTip
消息:

类标题:

class CNoTooltipEdit: public CEdit
{
    DECLARE_DYNAMIC(CNoTooltipEdit)

public:
    CNoTooltipEdit();
    virtual ~CNoTooltipEdit();

protected:
    DECLARE_MESSAGE_MAP()
public:
    LRESULT OnShowTip(WPARAM w, LPARAM l);
}; 
IMPLEMENT_DYNAMIC(CNoTooltipEdit, CEdit)

CNoTooltipEdit::CNoTooltipEdit()
{

}

CNoTooltipEdit::~CNoTooltipEdit()
{
}


BEGIN_MESSAGE_MAP(CNoTooltipEdit, CEdit)
    ON_MESSAGE(EM_SHOWBALLOONTIP, &CNoTooltipEdit::OnShowTip)
END_MESSAGE_MAP()

LRESULT CNoTooltipEdit::OnShowTip(WPARAM w, LPARAM l)
{
    return TRUE;
}
类实现:

class CNoTooltipEdit: public CEdit
{
    DECLARE_DYNAMIC(CNoTooltipEdit)

public:
    CNoTooltipEdit();
    virtual ~CNoTooltipEdit();

protected:
    DECLARE_MESSAGE_MAP()
public:
    LRESULT OnShowTip(WPARAM w, LPARAM l);
}; 
IMPLEMENT_DYNAMIC(CNoTooltipEdit, CEdit)

CNoTooltipEdit::CNoTooltipEdit()
{

}

CNoTooltipEdit::~CNoTooltipEdit()
{
}


BEGIN_MESSAGE_MAP(CNoTooltipEdit, CEdit)
    ON_MESSAGE(EM_SHOWBALLOONTIP, &CNoTooltipEdit::OnShowTip)
END_MESSAGE_MAP()

LRESULT CNoTooltipEdit::OnShowTip(WPARAM w, LPARAM l)
{
    return TRUE;
}

为什么要隐藏它?有没有办法关闭声音通知?这些蜂鸣声来自CEdit实现(在公共控制dll中)。当您超过文本限制或输入无效字符(字母表示数字控制)时,它将调用MessageBeep()。您可以从CEdit派生自己的类,并实现WM_CHAR处理程序,该处理程序将过滤无效字符,并且不会将它们传递给基类。