在初始化中使用下面两行代码

ModifyStyleEx(0, WS_EX_LAYERED);

::SetLayeredWindowAttributes(m_hWnd, RGB(1, 255, 0), 100, LWA_COLORKEY);       //set color transparent,指定透明的颜色

然后在OnEraseBkgnd或者OnPaint中

CRect rect;
this->GetClientRect(&rect);
dc.FillSolidRect(rect, RGB(1, 255, 0));             //填充指定透明的颜色

可以达到窗口透明,当然你可以填充指定矩形区达到局部透明。

那么问题来了,当这样透明后,鼠标无法穿透透明区域,怎么才能做到鼠标穿透呢? 很简单,将填充颜色改为RGB(0, 255, 0),也就是说设置纯色透明可以达到鼠标穿透,混合色不穿透。 很奇怪,我也没仔细研究是什么原因,就记录下吧。

转载于:https://www.cnblogs.com/yuzhould/p/4454244.html

VC++ SetLayeredWindowAttributes 部分窗口透明鼠标穿透相关推荐

  1. SetLayeredWindowAttributes 设置窗口透明

    为什么80%的码农都做不了架构师?>>>    #ifndef _ROPWINDOW_H_ #define _ROPWINDOW_H_ #include "stdafx.h ...

  2. 关于怎么实现鼠标穿透窗体,实现窗体透明

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. [随笔]关于如何实现鼠标穿透窗口和窗口半透明

    资料准备 WS_EX_TRANSPARENT | WS_EX_LAYERED WM_NCHITTEST & return HTTRANSPARENT SetLayeredWindowAttri ...

  4. VC实现顶层窗口的透明与实现子窗口的透明【重点:子窗口透明处理】

    本人在vc开发过程中,多次因窗口透明而煞费苦心,在本人的前一文章<UpdateLayeredWindow与SetLayeredWindowAttributes>中已经指明实现窗口的透明方法 ...

  5. Simple WPF:实现一个透明、无边框、鼠标穿透的WPF窗体

    WPF 透明窗体和鼠标事件穿透 一个自定义WPF窗体的解决方案,借鉴了吕毅老师的WPF制作高性能的透明背景的异形窗口一文,并在此基础上增加了鼠标穿透的功能.可以使得透明窗体的鼠标事件穿透到下层,在下层 ...

  6. javaFx实现鼠标穿透画布,同时操作画布和桌面,背景透明,类似ppt批注

    系列文章专栏:javafx图形绘制.桌面录屏录音源码合集 目录 一.实现的功能和效果 二.程序实现 三.总结 一.实现的功能和效果 今天,我们要用javaFx来实现一个鼠标穿透画布的功能,该需求来自于 ...

  7. C# Winform 窗体美化(五、鼠标穿透)

    五.鼠标穿透 以前在玩射击游戏的时候,狙击枪的设定一般是开镜才有准星,所以想是不是可以自己造一个默认准星出来,思路是现在窗口上画一个准星,然后把窗体其他区域都透明,然后设置鼠标穿透: 结果是: Upd ...

  8. winform和wpf如何实现鼠标穿透的效果

    先看一下鼠标穿透的效果: 可以看到Form1这个程序虽然遮在了桌面的上面,但是我们还可以在窗体上点击桌面上的必应词典和网易邮箱大师,好像这个叫"Form1"的窗口被"穿透 ...

  9. 无边框透明窗口设置鼠标穿透与不穿透功能

    一.设置鼠标穿透功能: 1.先设置鼠标穿透.无边框.透明,其中鼠标穿透属性要放在第一个位置设置: this->setAttribute(Qt::WA_TransparentForMouseEve ...

最新文章

  1. mvc html的扩展,关于asp.net mvc 3:Razor无法正确呈现HtmlHelper扩展方法
  2. Python 并发编程之使用多线程和多处理器
  3. Docker镜像管理
  4. 23、Java Swing JTree:树组件
  5. 深入使用XMemcached
  6. norflsh nandflash之类的存储设备启动bootloader概述
  7. eclipse创建神经网络_使用Eclipse Deeplearning4j构建简单的神经网络
  8. spring—SpringMVC的请求和响应
  9. 解决 ‘Response‘ object has no attribute ‘body‘
  10. linux 系统语言设置字体,Linux语言和字体的自定义设置
  11. 我们在GDC上公布了一些好消息
  12. C语言三种形式编九九乘法表,C语言九九乘法表(五种输出形式)
  13. Python学习之路-NLP(人物提取)
  14. CVPR'22 | 基于像素差异学习的视频高光检测算法及在视频广告中的应用
  15. 用“5饼2鱼”分析2019年北美电影票房市场
  16. 大连居民楼爆炸原因查明 责任人厌世开燃气阀门自杀
  17. sqlserver取模_SQLSERVER字符串截取
  18. 时间序列数据的白噪声检验
  19. 连接校园网没有弹出登录界面或者连接手机热点上不了网
  20. html mako

热门文章

  1. 变量申明的提升,闭包,作用域,this,运算符优先级详细举例及讲解
  2. Java NIO 基础
  3. 批处理文件中获取当前所在路径的几种方法
  4. Ubuntu学习日记--Lesson1:Linux基础和常用命令
  5. 【学习OpenCV4】图像通道的分离、合并与混合方法(C++)
  6. WordPress学习笔记(一)文章操作
  7. 服务号php代码示例,php实现银联商务公众号+服务窗支付的示例代码
  8. php 7 中对数值 * 100 出现很多小数_PHP快速入门第二讲:数据类型
  9. OSG仿真案例(2)
  10. c语言第二章网上作业答案,c语言第二章课后习题答案