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 () 函数。

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

  • 相关阅读:
    Seq_file文件系统实例剖析
    linux 网卡接收多播MAC(01:08开头)
    linux-3.14.13 看到mpls gso支持
    /usr/include/sys/types.h:62: error: conflicting types for ‘dev_t’
    gcc编译参数-fPIC的一些问题
    glibc-2.15编译error: linker with -z relro support required
    no CONFIG_BQL
    if_nametoindex可以检查网卡名称是否有效
    剑指offer(10)
    剑指Offer(9)
  • 原文地址:https://www.cnblogs.com/lin1270/p/3490348.html
Copyright © 2011-2022 走看看