zoukankan      html  css  js  c++  java
  • 在窗口外设置鼠标形状

    1.如果程序按住左键不放,改变鼠标形状,左键弹起时,又改回默认,这是很简单的,在OnLButtonDown下,SetCapture,然后SetCursor即可。

    2.如果单击了左键,而且弹起来了,再移动鼠标时,这时候就比较难以改变,如何要做一个取色计之类的软件,你还得处理单击不使之生效的问题。

    这个时候,可以使用一个假象来实现该功能:

    1)建一个全屏幕窗口,去标题,把WM_ERASEBKGROUND直接返回TRUE,这时候,窗口不会控除背景,它的背景就是屏幕背景,这个就是假象。

    2)为了使窗口跟着屏幕刷新,比较屏幕上有GIF,FLASH之类的动态东东,也为了动态刷新,可以使用WS_EX_TRANSPARENT属性,该属性的意思是只有当底窗口刷新时,我自己才刷新,所以屏幕有GIF时,它会刷新,于是我也跟着刷新,就实现了跟着屏幕变化的效果。

    3)在该窗口中WM_SETCURSOR设置鼠标形状,即可实现窗口外鼠标形状的改变,而且用户感觉不到这个窗口的存在。

    具体的代码,在安装了VS2008及其SP1后,见代码:

    $VS2008$/VC/atlmfc/src/mfc/afxcolordialog.cpp 中的CSreenWnd类。

    该类的调用方式见279行的void CMFCColorDialog::OnColorSelect () 函数。

    在公司使用虚拟机上网啊,不能复制粘贴,只好这么发贴了。。

  • 相关阅读:
    1-1圆柱体的表面积
    vue的重定向和404
    新特性
    vue的一些概念
    关于ES6包的导出和导入
    vue-父组件和子组件的交互
    vue-组件
    vue---指令
    angular基础--指令2
    angular基础
  • 原文地址:https://www.cnblogs.com/lin1270/p/3490348.html
Copyright © 2011-2022 走看看