zoukankan      html  css  js  c++  java
  • 关于鼠标的一些操作

    1、
    SetCapture()函数在属于当前线程的指定窗口里捕获鼠标输入。一般,只有鼠标在CWnd的客户区内,你才能接受到鼠标消息,调用
    SetCapture()后,即使鼠标移动出客户区,你也可以接受到鼠标消息。GetCapture()可以知道当前哪个窗口调用了SetCapture();当一个
    窗口不再需要所有的鼠标输入时应调用ReleaseCapture()释放鼠标。当按钮、滚动条按下时,应该调用SetCapture()捕获鼠标输入,防止
    鼠标移动到窗口之外。

    2、
    当鼠标移入窗口则会接收到WM_SETCURSOR消息,所以一般不要在OnMouseMOve事件中调用SetCursor()改变鼠标光标,因为这样容易引起
    光标闪烁,应该在在WM_SETCURSOR消息处理函数OnSetCursor中设置鼠标的光标。eg:

    BOOL CMyButton::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    ::SetCursor(LoadCursor(NULL,MAKEINTRESOURCE(IDC_HAND)));
    return true;

    return CButton::OnSetCursor(pWnd, nHitTest, message);
    }

    3、

    鼠标滚轮滚动会产生WM_MOUSEWHEEL消息(前提是当前窗口为Focus),消息相应函数:afx_msg   BOOL   OnMouseWheel(   UINT   nFlags,   short   zDelta,   CPoint   pt   );   

    其中zDelta指明了滚动的距离。zDelta值以WHEEL_DELTA,即120的倍数或部分的形式表达。小于零的数表明往回滚动(向着用户),而大于零的数表明滚向远处(离开用户)。用户可以在鼠标软件中改变滚轮设置以反转这种响应。有关这个参数的更多信息参见说明部分。 

  • 相关阅读:
    fastjson对String、JSONObject、JSONArray相互转换
    查看各进程分别占用多少服务器内存
    如何关闭或删除阿里云云盾安骑士
    docker 镜像操作
    docker 容器命令
    docker换源
    centos8 docker安装
    基本概念
    自动生成文件注释和函数注释
    Pycharm新建文件时自动添加基础信息
  • 原文地址:https://www.cnblogs.com/milanleon/p/5624151.html
Copyright © 2011-2022 走看看