vs2008,想要实现在对话框中输入消息按回车后发送,但是调试发现PreTranslateMessage不工作,代码如下:BOOL CCPMdlgsession::PreTranslateMessage(MSG* pMsg)  
{
if (pMsg->message == WM_KEYDOWN)
  {
  if (pMsg->wParam == VK_RETURN)
  {
  CWnd* p = GetDlgItem(IDC_EDIT_INFO);
  if (p->GetSafeHwnd() == pMsg->hwnd)
  {
  OnSend();
  }
  return TRUE; //滤掉回车键
  }
  }return CDialog::PreTranslateMessage(pMsg);
}查过资料非模态对话框得调用IsDialogMessage,但是不知如何使用这个函数,求高人解答!

解决方案 »

  1.   

    PreTranslateMessage 什么消息都进不去?
      

  2.   

    调试的时候就不走这个函数,响应不了WM_KEYDOWN这个吧应该是
      

  3.   

    你断点设在:if (pMsg->message == WM_KEYDOWN)
    看看有没有断点进去?
      

  4.   

    是activex/com组件么?那个是不走这个的
      

  5.   

    是COM组件化以后的,那要怎么改?
      

  6.   

    看看下面的自定义菜单的实现原理就知道了
    http://user.qzone.qq.com/573082406/blog/1313738415