例如我定义了一个消息:WM_MYMESSAGE
然后也对此消息做了函数声明和调用.如下:#define WM_MYMESSAGE 0x0900 + 0x0001
BEGIN_MESSAGE_MAP(Ctest_pcDlg, CDialog)
ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)
END_MESSAGE_MAP()
//
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);LRESULT CtestDlg::OnResponseNotify(WPARAM wParam, LPARAM lParam)
{
    //消息处理函数
}
请问我怎样对我的这个消息声明的函数进行调用?难道是用PostMessage或者是SendMessage ?

解决方案 »

  1.   

    多谢。像我这个带有WPARAM wParam, LPARAM lParam参数的消息响应函数,我该怎样用PostMessage函数来调用?
      

  2.   


    pTestDlg->SendMessage(WM_MYMESSAGE,(WPARAM)0,(LPARAM)0);
      

  3.   

    像我这个带有WPARAM wParam, LPARAM lParam参数的消息响应函数,我该怎样用PostMessage函数来调用? 
    =========================
    PostMessage这个函数后面两个参数不就是起这个作用的吗
      

  4.   

    PostMessage、SendMessage之类的函数都可以。
      

  5.   

    SendMessage,巨好用。如果你那个消息定义在CMyClass中,可以这样用
    CMyClass myClass;
    myClass.SendMessage(WM_MYMESSAGE, wParam, lParam);
    类似的用法还有好多,建议你下个这方面的小程序来研究一下。
      

  6.   

    我发现程序里面根本就没有楼上各位用PostMessage和SendMessage函数对那个消息的调用?可是仍然能够起作用于消息响应的OnResponseNotify函数,请问谁能给解释一下这是怎么回事?
      

  7.   

    我的整个程序里面,没有PostMessage和SendMessage函数对那个消息响应函数的调用。
    可是仍然响应。照常执行。
      

  8.   

    在另外一个例子中,发现在wincore.cpp文件中有了调用,这个cpp文件可不是我的工程文件,是系统文件。
    如下代码:case AfxSig_l_w_l:
    lResult = (this->*mmf.pfn_l_w_l)(wParam, lParam);
    break;
    LRESULT CWnd::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
    {
    // OnWndMsg does most of the work, except for DefWindowProc call
    LRESULT lResult = 0;
    if (!OnWndMsg(message, wParam, lParam, &lResult))
    lResult = DefWindowProc(message, wParam, lParam);
    return lResult;
    }// delegate to object's WindowProc
    lResult = pWnd->WindowProc(nMsg, wParam, lParam);