zoukankan      html  css  js  c++  java
  • mfc设置鼠标状态OnSetCursor响应函数

    参考文章:1.https://bbs.csdn.net/topics/70084486

    2.https://blog.csdn.net/wang15061955806/article/details/52385911

    该函数专门由于设置光标的形状,是对WM_SETCURSOR消息的响应。

    1.该消息在鼠标发生任何事件时都能响应(单击,双击,移动,且该函数的调用在对于鼠标响应函数之前)。

    如果处理了该函数,一定要返回return TRUE,不要让父类再处理。

    一、函数原型

    afx_msg BOOL CWnd::OnSetCursor(CWnd* pWnd,UINT nHitTest,UINT message);

    参数一:当前鼠标位于哪个窗口(控件)上,可以通过pWnd->GetDlgCtrID()来判断设置鼠标形状

    参数二:表示当前鼠标位于实现该函数的窗口的哪个位置(HTBORDER HTCLIENT等等,参考OnNcHitTest函数)

    参数三:表示鼠标消息的值(WM_LBUTTONDOWN  WM——LBUTTONUP诸如此类)

    有了这些参数,通过判断就可以对于不同位置,不同控件,不同鼠标状态做不同的处理了

    二、改变鼠标形状

    hCursor=LoadCursor(NULL,IDC_WAIT);

    SetCursor(hCursor);

    return TRUE;

    当改变鼠标的形状后一定要返回TURE,表示该窗口已经处理鼠标形状完毕,不需要再交给该窗口的父窗口处理了,如果不返回TURE,则父窗口会默认恢复光标形状。

    三、自定义判断条件

    例如当a=1时让鼠标变成忙,=2时让光标变成箭头,非常灵活

  • 相关阅读:
    静态成员 执行顺序
    排序之插入排序
    结构体字节对齐问题
    建模基础&UML
    C#中隐藏(new)和方法重载(overide)的区别
    培训记录
    C笔记
    用例
    .NET架构
    C#格式化日期
  • 原文地址:https://www.cnblogs.com/zhuluqing/p/8995066.html
Copyright © 2011-2022 走看看