俺一按回车或ESC就退出了,俺想屏蔽这两个键。

解决方案 »

  1.   

    我想,你应该派生CPropertySheet这个类,然后处理按钮的消息。如果你只是为了屏蔽这两个键,可以考虑重载CPropertySheet::PreTranslateMessage来处理键盘消息,判断是否会车或者ESC,如果是,则处理掉。否则,调用基类的实现。
      

  2.   

    重载Cyouclass::OnOK();
    和  Cyouclass::OnCancle();
    并把默认的消息屏蔽掉
      

  3.   

    CPropertyPage继承于CDialog类, 内部有默认函数OnOK和OnCancel, 那两个破按钮就是调用他们的, 你重写一下(应该不叫重载)。
    把CDialog::OnOK()去掉即可。
      

  4.   

    同意MilitaryMiniatures(++) 的,应该从CPropertySheet派生一个类,然后重载PreTranslateMessage,对回车和esc进行屏蔽
    BOOL CxxxSheet::PreTranslateMessage(MSG *pMsg)
    {
    if(pMsg->message == WM_KEYDOWN)
    {
         if(pMsg->wParam == VK_RETURN ||
            pMsg->wParam == VK_ESCAPE)
         {
              return TRUE;
         }
         return CPropertySheet::PreTranslageMessage(pMsg);
    }
      

  5.   

    在PretranslateMessage中屏蔽回车和ESC,就用楼上的办法
      

  6.   

    这个方法灵是灵,不过所有的回车和ESC都被屏蔽了,我在文本框里按回车也不换行了。