注意:

在调用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(, , ), , LWA_ALPHA);
isTransParent = true;
}
else
{
::SetLayeredWindowAttributes(hWnd, RGB(, , ), , LWA_ALPHA);
isTransParent = false;
}
}
04-28 13:32