MFC-鼠标消息

内容转载自 https://www.bilibili.com/video/BV1AT4y137gS?p=34

/*
    封装的打印函数
*/
void CMFCApplication10Dlg::ProcessMouseMessage(LPCTSTR lpszEvent, LPCTSTR lpszKey, const CPoint &point)
{
    CString strMsg;
    strMsg.Format("鼠标%s%s,鼠标的坐标:%d, %d", lpszKey, lpszEvent, point.x, point.y);
    SetDlgItemText(IDC_MOUSE_MESSAGE, strMsg);
}


/*
    鼠标左键双击消息
*/
void CMFCApplication10Dlg::OnLButtonDblClk(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("双击", "左键", point);

    CDialogEx::OnLButtonDblClk(nFlags, point);
}


/*
    鼠标左键按下消息
*/
void CMFCApplication10Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("按下", "左键", point);

    CDialogEx::OnLButtonDown(nFlags, point);
}


/*
    鼠标左键松开消息
*/
void CMFCApplication10Dlg::OnLButtonUp(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("松开", "左键", point);

    CDialogEx::OnLButtonUp(nFlags, point);
}


/*
    鼠标右键按下消息
*/
void CMFCApplication10Dlg::OnRButtonDown(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("按下", "右键", point);

    CDialogEx::OnRButtonDown(nFlags, point);
}


/*
    鼠标右键松开消息
*/
void CMFCApplication10Dlg::OnRButtonUp(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("松开", "右键", point);

    CDialogEx::OnRButtonUp(nFlags, point);
}


/*
    鼠标右键双击消息
*/
void CMFCApplication10Dlg::OnRButtonDblClk(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("双击", "右键", point);

    CDialogEx::OnRButtonDblClk(nFlags, point);
}


/*
    鼠标中键双击消息
*/
void CMFCApplication10Dlg::OnMButtonDblClk(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("双击", "中键", point);

    CDialogEx::OnMButtonDblClk(nFlags, point);
}


/*
    鼠标中键按下消息
*/
void CMFCApplication10Dlg::OnMButtonDown(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("按下", "中键", point);

    CDialogEx::OnMButtonDown(nFlags, point);
}


/*
    鼠标中键松开消息
*/
void CMFCApplication10Dlg::OnMButtonUp(UINT nFlags, CPoint point)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    ProcessMouseMessage("松开", "中键", point);

    CDialogEx::OnMButtonUp(nFlags, point);
}


/*
    鼠标滚轮消息
*/
BOOL CMFCApplication10Dlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值

    if (zDelta < 0)//向下
    {
        ProcessMouseMessage("向下滚动", "滚轮", pt);
    }
    else
    {
        ProcessMouseMessage("向上滚动", "滚轮", pt);
    }


    return CDialogEx::OnMouseWheel(nFlags, zDelta, pt);
}
原文地址:https://www.cnblogs.com/nxopen2018/p/14000205.html