咚咚咚声本来是windows用来提醒用户,输入无效的。
既然你不想要,可以在PreTranslateMessage里返回TRUE,拿我一个控件为例,如果不做处理,按什么键都会发出咚咚咚声。但我的控件支持数字键:
BOOL CXXXXCtrl::PreTranslateMessage(MSG* pMsg)
{
if (WM_KEYDOWN != pMsg->message)
return COleControl::PreTranslateMessage(pMsg);
if (0x31 <= pMsg->wParam && pMsg->wParam <= 0x39) //数字键
{
SelectLegendFromIndex(pMsg->wParam - 0x31);
return TRUE;
}
return COleControl::PreTranslateMessage(pMsg);
}
既然你不想要,可以在PreTranslateMessage里返回TRUE,拿我一个控件为例,如果不做处理,按什么键都会发出咚咚咚声。但我的控件支持数字键:
BOOL CXXXXCtrl::PreTranslateMessage(MSG* pMsg)
{
if (WM_KEYDOWN != pMsg->message)
return COleControl::PreTranslateMessage(pMsg);
if (0x31 <= pMsg->wParam && pMsg->wParam <= 0x39) //数字键
{
SelectLegendFromIndex(pMsg->wParam - 0x31);
return TRUE;
}
return COleControl::PreTranslateMessage(pMsg);
}