Win32 设置窗口透明度 SetLayerTransparent
Posted 阿汤的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Win32 设置窗口透明度 SetLayerTransparent相关的知识,希望对你有一定的参考价值。
注意:
在调用SetLayeredWindowAttributes 之前,需要给窗口加上WS_EX_LAYERED属性,否则会无效
void SetLayerTransparent(HWND hWnd) { static bool isTransParent = false; if (isTransParent == false) { DWORD exStyle = ::GetWindowLong(hWnd, GWL_EXSTYLE); exStyle |= WS_EX_LAYERED; ::SetWindowLong(hWnd, GWL_EXSTYLE, exStyle); ::SetLayeredWindowAttributes(hWnd, RGB(0, 0, 0), 128, LWA_ALPHA); isTransParent = true; } else { ::SetLayeredWindowAttributes(hWnd, RGB(0, 0, 0), 255, LWA_ALPHA); isTransParent = false; } }
以上是关于Win32 设置窗口透明度 SetLayerTransparent的主要内容,如果未能解决你的问题,请参考以下文章