双击OK和Cancel按钮在他们的处理函数中去掉CDialog::OnCancel();和CDialog::OnOK();两行代码就可以了。去试试吧。

解决方案 »

  1.   

    thanks,
    but my application dont have the ok,cancel button?
      

  2.   

    但函数还是在的,告诉你一个简单法子,你加一个IDOK的按钮
    照上面的连函数,去掉函数内的内容,然后删掉这个按钮就行了
    编译不会报错的哈哈哈哈哈哈哈哈哈
      

  3.   

    但函数还是在的?我搜索了一下ONOK,没有啊?
    这个简单法子会不会不规范呢?
    我想响应WM_CHAR,行不行?
      

  4.   

    when I use the idcancel.
    I cant close the dlg.
      

  5.   

    当然可以,
    如果你确认,真的没有OnOK(),
    那就自己加一个,系统会自动在函数体内加入"CDialog::OnOK();"
    把那句话去掉.ok.
    另一个也是如法炮制.
      

  6.   

    要使回车键无效,将OK按钮的Default属性去掉。
    要使ESC键无效,可以重载虚函数 PreTranslateMessage函数。
    BOOL CEscDlg::PreTranslateMessage(MSG* pMsg)

      // TODO: Add your specialized code here and/or call the base class
      int nVirtKey;
      if(pMsg->message==WM_KEYDOWN)
      {
         nVirtKey=int(pMsg->wParam);
         if(nVirtKey==VK_ESCAPE) return TRUE; 
       }
      return CDialog::PreTranslateMessage(pMsg);
    }
      

  7.   

    thanks,
    I will pay feng.later;
      

  8.   

    I want to pay feng to ereryone?
    but I cant pay>
    why?