zoukankan      html  css  js  c++  java
  • 【转】窗口透明鼠标穿透

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

    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),也就是说设置纯色透明可以达到鼠标穿透,混合色不穿透。 很奇怪,我也没仔细研究是什么原因,就记录下吧。

    转:http://blog.csdn.net/sundan308/article/details/41980427

  • 相关阅读:
    一本通1647迷路
    一本通1646GT 考试
    矩阵
    矩阵快速幂
    数学基础
    清北学堂学习经验(论颓废)
    钟皓曦第二天讲课
    P3275 [SCOI2011]糖果
    P1270 “访问”美术馆
    P2015 二叉苹果树
  • 原文地址:https://www.cnblogs.com/nightnine/p/8523301.html
Copyright © 2011-2022 走看看