在PreTranslateMessage函数里屏蔽掉键盘消息。

解决方案 »

  1.   

    OnKeyDown中处理,如果char是VK_RETURN,就返回true.
      

  2.   

    呵呵
    对话框如果不稍作处理 按回车就会退出的
    必须加入
        virtual void OnOK();
        virtual void OnCancel();
    然后不进行操作即可
    不是设置非默认 也不是简单删除ok cancel按钮的问题
      

  3.   

    http://www.vckbase.com/document/viewdoc/?id=481
    这帖子上说的比较清楚
      

  4.   

    你们说的好简单哦,我一个也没学会!
    楼上的那个啊。。
    BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
        ON_MESSAGE(DM_GETDEFID, OnGetDefID)
        ...
    END_MESSAGE_MAP()LRESULT CMyDlg::OnGetDefID(WPARAM wp, LPARAM lp) 
    {
        return MAKELONG(0,DC_HASDEFID); 

    我加了这些,怎么不行,出错(我把CMyDlg也改了)
      

  5.   

    记得不是很清楚了..在API里面有那么个函数是showcursor(BOOL)
      

  6.   

    因为你只屏蔽键盘,鼠标还需要能够关闭对话框,因此最好在PreTranslateMessage()当中判断WM_KEYDOWN消息,如果键盘按键是VK_RETURN,就直接返回,或者所有键盘消息都不处理直接返回。