VC++开发GIS系统(120)更改鼠标指针之实现替换

前文《VC++开发GIS系统(119)更改鼠标指针之添加资源》,下面的工作就是替换当前指针了。

设置鼠标指针变量与函数

在malagisView.h里添加一个变量mouseCursor,代码如下:

//自定义变量
private:
    CmalaMouseAction *mBaseOper;
    int mouseCursor;//0 默认 1 放大 2 缩小 3 移动
    

再添加一个设置鼠标指针的函数

void setCurrentCursor();//设置当前鼠标指针

setCurrentCursor函数实现

//设置当前鼠标指针
void CmalagisView::setCurrentCursor()
{
    if (mouseCursor == 1)
    {
        HCURSOR hCursor = AfxGetApp()->LoadCursor(IDC_CURSOR_ZOOMIN);
        SetCursor(hCursor);
    }
    if (mouseCursor == 2)
    {
        HCURSOR hCursor = AfxGetApp()->LoadCursor(IDC_CURSOR_ZOOMOUT);
        SetCursor(hCursor);
    }
    if (mouseCursor == 3)
    {
        HCURSOR hCursor = AfxGetApp()->LoadCursor(IDC_CURSOR_HAND);
        SetCursor(hCursor);
    }
}

改变指针

分别在OnLButtonDown、OnMouseMove、OnLButtonUp调用setCurrentCursor函数。效果如图:

详细代码可以参考:GitHub

VC++开发GIS系统(119)更改鼠标指针之添加资源 VC++开发GIS系统(121)滚轮缩放之函数实现

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论