我不董:postmessage()和sendmessage()里的参数如何用

解决方案 »

  1.   

    #define WM_USER_MSG1 ( WM_USER + 1 )
    ______________
    ...
    AfxGetMainWnd()->SendMessage( WM_USER_MSG1, 0, 0 );
    _________
    *.h
    afx_msg LRESULT OnUSERMSG1(WPARAM wParam,LPARAM lParam);
    ___________
    *.cpp
    ...
    BEGIN_MESSAGE_MAP(CMainFrame, CNewMDIFrameWnd)
    ON_MESSAGE(WM_USER_MSG1,OnUSER_MSG1)
    END_MESSAGE_MAP()
    ...LRESULT CMainFrame::OnUSER_MSG1(WPARAM wParam,LPARAM lParam)
    {
    ... return 0;
    }
      

  2.   

    首先PostMessage,和SendMessage的参数都是一样,
    第一参数是消息,它标示这个消息是什么意思。如果是自定义消息的话填个数就可以了。第二和第三个参数是消息的具体参数值,这要视具体的消息而定,比如要是WM_MOUSEMOVE,的话参数就是鼠标位置的指针了。
    给个例子this->PostMessage (1976,0,0);
    这个意思就是说向本实例(可能是窗口也可能是按钮。总之是个窗口类)投一个值为1976的消息。
    如何接收消息就是楼上那几句话,其意是当收到WM_USER_MSG1这个消息时,则调用OnUSER_MSG1 并将postmessage的后两个参数分别传给wParam,lParam.
    按照上面的例子就是
    ...
    ON_MESSAGE(1976,OnMyMsg)
    ...LRESULT CMainFrame::OnMyMsg(WPARAM wParam,LPARAM lParam)
    {
    ... return 0;
    }
      

  3.   

    消息接受方:
    #define MY_MSG _T("{11111111-2222-BBBB-AAAA-00B0ec384bab}")//定义消息
    static UINT uMsg;//消息变量
    afx_msg LRESULT OnMY_MSG(WPARAM wParam, LPARAM lParam);//消息处理函数声明UINT myDlg::uMsg= RegisterWindowMessage(MY_MSG);//注册消息变量
    LRESULT myDlg::OnMY_MSG(WPARAM wParam, LPARAM lParam)//消息函数
    {
    //do....
    //return;
    }ON_REGISTERED_MESSAGE(uMsg, OnMY_MSG)//消息绑定;消息发送方:
    #define MY_MSG _T("{11111111-2222-BBBB-AAAA-00B0ec384bab}")//定义消息nMsgID = RegisterWindowMessage(MY_MSG);
    ::PostMessage(HWND_BROADCAST, nMsgID, 0,0);//广播发送
      

  4.   

    的确可以,可是很累。
    当然,你那样是非常非常实用的。
    至少,我那样的做法在ClassWaird里是看不到的。
      

  5.   

    四步:
    1,自定义消息,#define MESSAGE WM_USER + 1000
    2, 定义函数(在你的窗口类中,该类有窗口句柄)  void HandleMessage(WPARAM wparam,LPARAM lparam)
    3,在该类中定义消息映射:  ON_MESSAGE(MESSAGE,HandleMessage)
    4,SendMessage(m_hWnd,MESSAGE,0,0);
      m_hWnd为2中类的窗口句柄。
    如果你想传递字符串的话,这样子
    SendMessage(m_hWnd,MESSAGE,0,,(LPARAM)(LPCSTR)str);在HandleMessage中这样:
        CString temp = (CString)(LPCSTR)lParam
      

  6.   

    cococut能把你的qq告诉我吗? 
    彼此 的 消息响应是程序通信?
      

  7.   

    谢谢各位仁兄;
    LRESULT 参数 怎么用还有 WPARAM LPARAM