我想发一个SendMessage
发WM_LBUTTONDOWN的消息就是把鼠标消息装进去就是高位低位
用位运算符吧这个怎么弄啊 就是怎么XY装到一个变量里啊 不要说位运算 因为主要就是位运算不太会用谁帮个忙拉 谢谢

解决方案 »

  1.   

    没明白,知道了SendMessage,知道了WM_LBUTTONDOWN,怎么就发不出去消息了呢?
    位运算又是何指?
      

  2.   

    lParam表示坐标位置lParam=(x<<16)|y;
      

  3.   

    比如void  CFolderButton::OnLButtonDblClk (UINT nFlags, CPoint pt)
    {
      SendMessage(WM_LBUTTONDOWN, nFlags,  MAKELONG(pt.x,pt.y));
    }
      

  4.   

    同意,使用 MAKELONG~~~
      

  5.   

    msdn有详尽解释http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/mouseinput/mouseinputreference/mouseinputmessages/wm_lbuttondown.asp
      

  6.   

    LPARAM MAKELPARAM(
        WORD wLow,
        WORD wHigh
    );
      

  7.   

    其实原理很简单,DWORD是一个32位数据类型,高位和低各占一半:POINT pt = {200,300};DWORD dwParam = (short)pt.x | (DWORD)((WORD)pt.y << 16);
    // 这样就把x,y组合放入到DWORD 32位数中了.// 把它分解出来:
    WORD x = (WORD)dwParam;
    WORD y = (WORD)((DWORD)dwParam >> 16);