我建了一个MFC基于对话框的Project,然后
把OK按钮的ID改成ID_SE,再把OK的properties中的DefaultButton改false,
可是按了Enter后还是会关闭对话框,
请问为什么?怎么把它改成不要关闭??

解决方案 »

  1.   

    把OnOK函数中的以下一行注释掉:
      CDialog::OnOK();
      

  2.   

    自己建一个Onok函数,并把他的内容设为空,就可以了!
      

  3.   

    来个彻底的
    BOOL COutLookDialog::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(pMsg->message == WM_KEYDOWN)
    {
    if(pMsg->wParam == VK_ESCAPE||pMsg->wParam == VK_RETURN)
    return TRUE;
    }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  4.   

    双击OK按钮,加上OnOK()函数,去掉函数里的CDialog::OnOK();
      

  5.   

    是这个样子的,按下Enter建相当于发送了系统消息,什么来着我记不清清楚了,
    好像是WM_SYS什么东西的。
    那个消息的默认相应就是CDialog::OnOK();所以被关闭了。
      

  6.   

    to fingerfox(狐狸.兄弟会):
    你的方法行了,谢谢了