WM_LBUTTONDOWN,WM_LBUTTONUP


WM_LBUTTONDOWN  //鼠標左鍵按下消息
WM_LBUTTONUP   //鼠標左鍵彈起消息參數和按下一樣
當用戶在窗口的客戶區域中按住鼠標左鍵時,會發布WM_LBUTTONDOWN消息。如果未捕獲鼠標,則該消息會發布到光標下方的窗口中。否則,消息將發布到已捕獲鼠標的窗口。 WM_LBUTTONDOWN fwKeys
= wParam; //鍵標志 xPos = LOWORD(lParam); //光標的水平位置 yPos = HIWORD(lParam); //光標的垂直位置 參數 【fwKeys】 在【wParam中】標識按下的鍵值。此參數可以是以下值的任意組合: 值 描述 MK_CONTROL 標識CTRL鍵按下。 MK_LBUTTON 標識左鍵按下. MK_MBUTTON 標識中鍵按下。 MK_RBUTTON 標識右鍵按下。 MK_SHIFT  標識SHIFT鍵按下. 【XPOS】 【lParam的】的低位字節的值。指定光標的x坐標。坐標相對於客戶區域的左上角。 【yPos】 【lParam的】的高字節的值。指定光標的y坐標。坐標相對於客戶區域的左上角。 返回值 如果應用程序處理此消息,則應返回零。 備注 應用程序可以使用MAKEPOINTS宏將【lParam的】參數轉換為POINTS結構。

實例:

case WM_LBUTTONDOWN:    
        return OnLButtonDown(hWnd,(UINT)wParam, POINT{ LOWORD(lParam),HIWORD(lParam) });


LRESULT OnLButtonDown(HWND hWnd,UINT nFlags, POINT pos)
{
    if (pos.x >= m_splitterPos - 10 && pos.x <= m_splitterPos + 10)
    {
        m_IsSplit = TRUE;    //標識可以拖拽
        /*SetCursor(m_hCursor);
        SetCapture(hWnd);*/
    }
    return 0;
}

 

LRESULT OnLButtonUp(HWND hWnd, UINT nFlags, POINT pos)
{
    if (m_IsSplit)
    {
        m_IsSplit = FALSE;    //標識不可拖拽
        ReleaseCapture();
    }
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM