如何在基于对话框的程序中屏蔽掉回车?
如何在基于对话框的程序中屏蔽掉回车? 问题点数:100、回复次数:9Top
1 楼zhuwenzheng(卧薪尝胆)回复于 2002-05-22 17:50:58 得分 40
BOOL CCXXX::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_RETURN://屏蔽回车
return TRUE;
case VK_ESCAPE://屏蔽Esc
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
Top
2 楼softman_2000(超越昨天)回复于 2002-05-22 17:53:27 得分 0
双击那两个默认按钮,然后删掉函数里面的所有的代码。Top
3 楼lshadow(没车没房努力中。。。)回复于 2002-05-22 17:58:31 得分 40
BOOL CFamilyDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
//**Disable the esc key and enter key
if(pMsg->message==WM_KEYDOWN)
if(pMsg->wParam==VK_ESCAPE || pMsg->wParam==VK_RETURN)
return FALSE;
return CDialog::PreTranslateMessage(pMsg);
}Top
4 楼lshadow(没车没房努力中。。。)回复于 2002-05-22 17:58:59 得分 0
BOOL CFamilyDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
//**Disable the esc key and enter key
if(pMsg->message==WM_KEYDOWN)
if(pMsg->wParam==VK_ESCAPE || pMsg->wParam==VK_RETURN)
return FALSE;
return CDialog::PreTranslateMessage(pMsg);
}Top
5 楼xintiaf(日月紫光)回复于 2002-05-22 18:07:14 得分 0
重载OnOk函数,函数直接返回就行了,或者直接加入你自己的处理过程Top
6 楼pp_ipr(ikn)回复于 2002-05-22 18:13:20 得分 10
http://www.vckbase.com/bbs/prime/search.asp?r=300&s=1Top
7 楼sz_letter(sz_letter)回复于 2002-05-22 18:14:00 得分 0
第一位是正确的做法!!!!第三位的也可以!Top
8 楼winne_ll(feiyang)回复于 2002-05-22 18:19:40 得分 0
只要不让它调用缺省的函数OnOk()就可以了。Top
9 楼xunknown(爱你是我一生中理想)回复于 2002-05-22 19:10:13 得分 0
改变让默认的“确定”按钮的ID让他不是IDOK就可以了。
或者把改他的属性,去掉和回车相关的那个钩。Top
10 楼ququshb(忘求了)回复于 2002-05-22 19:17:41 得分 10
重载OnOK() 并且不要在其中调用基类的OnOK() 函数Top




