我基于对话框建了个工程,在工程中用EDIT贴图片,我想在EDIT中产生MOUSEMOVE之类的消息,但是不知道怎么做?
用了对话框下的ON_MOUSEMOVE消息函数,但是她只在非EDIT框内才产生消息,跟我要求的刚好想法
希望各位XDJM求救

解决方案 »

  1.   

    ::SetCapture(GetDlgItem(IDD_EDIT)->GetSafeHwnd);
    希望恢复时:
    ::ReleaseCapture();
      

  2.   

    从EDIT继承一个子类,然后在子类中处理也可以
      

  3.   

    自己在对话框的PreTranslateMessage中捕捉一下看看
    if(pMsg->hwnd == GetDlgItem(IDC_EDIT)->GetSafeHwnd())
    {
    TRACE("%d\n",PMsg->message);
    }
    看看Debug输出的数字,就知道是什么消息号了,然后想怎么处理都可以!
      

  4.   

    vcleaner(我没做大哥已经很久了.......) 
    能说的具体点吗
      

  5.   

    BOOL CHotdotDlg::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
    {
    // TODO: Add your message handler code here and/or call default
    switch(pWnd->GetDlgCtrlID())
    {
    case IDC_EDIT1://当鼠标在EDIT1上移动的时候
    ....//这里加你的处理代码
    return TRUE;
    }
    return CDialog::OnSetCursor(pWnd, nHitTest, message);

    }
      

  6.   

    我帮他回答吧。比如Debug输出的是65423那么你可以在PreTranslateMessage中加如下面的代码:
    if(pMsg->hwnd==GetDlgItem(IDC_EDIT)->GetSafeHwnd())
    {
        if(pMsg->message==65423)
        {
            //把你响应这个消息(ON_MOUSEMOVE)的代码写下来
        }
    }