• 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;
    }
    签名:GreenLeaf1976
  • 相关阅读:
    数据结构实验之链表一:顺序建立链表
    数据结构实验之链表五:单链表的拆分
    最终排名
    选夫婿1
    数据结构实验之链表三:链表的逆置
    数据结构实验之链表二:逆序建立链表
    数据结构实验之链表四:有序链表的归并
    水题
    win32线程简单封装
    Boost 1.46.1,vc2005, 编译
  • 原文地址:https://www.cnblogs.com/greenleaf1976/p/14854384.html
Copyright © 2020-2023  润新知