我想要知道什么时候用户在IDC_COMBO_COMMAND输入框中按下了Delete键或者Backspace键。
怎样实现?越简洁越好。

解决方案 »

  1.   

    在按键的消息函数中
    用CWnd::GetCapture捕捉鼠标在哪个窗口
    然后判断是否是你要这个键在这里起作用
    添加你相应的操作就是了
      

  2.   

    1。 子类化
    2。 监视窗口消息。
    PreTranslateMessage
    取得当前有焦点的ID是否是你的combobox,如果是,判断是否是回车键或者backspace键
      

  3.   

    还有,相应该combox的事件:
    EDITCHANGE
    如果相应回车,请将dialog的OnOk地CDialog::OnOk 去掉
      

  4.   

    BOOL CTest6Dlg::PreTranslateMessage(MSG* pMsg) 
    {
    if( pMsg->message == WM_KEYDOWN )
    {   
                    CEdit *pEdit = (CEdit*)m_combo1.GetWindow(GW_CHILD);     
    if(pMsg->hwnd == pEdit->m_hWnd )
    {
                switch( pMsg->wParam )
                {
                                  case 0x08://backspace
                                        .....
                                  case VK_DELETE:
                                      ...
                                 }
                   }
    }
    return CDialog::PreTranslateMessage(pMsg);}