我想问下,我的对话框有一个默认按钮(确定),但是我想在编辑框获取焦点后,敲回车键不触发默认按钮,而是另一个按钮,如何捕获这个回车消息啊?

解决方案 »

  1.   

    WM_KEYDOWN处理这个消息,判定回车键然后处理函数
      

  2.   

    响应对话框类的PreTranslateMessage事件,截获键盘输入。判断是否回车
      

  3.   

    BOOL CTrackReviewDlg::PreTranslateMessage(MSG* pMsg) 
    {
    //确定是在m_NowTime控件上的键盘事件
    if((pMsg->hwnd == m_NowTime.m_hWnd) && (pMsg->message == WM_KEYDOWN) )
    {
    if(pMsg->wParam == VK_RETURN)//确定是回车
    {
                       //dosomthing
                    }
            }
    }
      

  4.   

    把确认按钮的缺省属性去掉,把你的另一个按钮设成缺省就可以了。捕获这个回车消息的话
    BOOL CAADlg::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if( pMsg->message == WM_KEYDOWN)
    {
    if(pMsg->wParam == VK_RETURN)
    }
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  5.   

    把那个按钮的Default Button属性改成False不就好了
      

  6.   

    貌似是在编辑框填写完后回车自动执行某动作
    就如
    输入(编辑框)输入用户名->回车->(跳到下一编辑框)输入密码->回车->(触发按钮消息)登录
      

  7.   

    编辑框回车后会发送父窗口消息WM_COMMAND(default ID