MFC常用 控制对话框透明属性函数

void CFloatWnd::OnUpdateTransparent(int iTransparent)
{
HINSTANCE hInst = LoadLibrary("User32.DLL");
if(hInst)
{
typedef BOOL (WINAPI *SLWA)(HWND,COLORREF,BYTE,DWORD);
SLWA pFun = NULL;
//取得SetLayeredWindowAttributes函数指针
pFun = (SLWA)GetProcAddress(hInst,"SetLayeredWindowAttributes");
if(pFun)
{
pFun(m_hWnd,0,iTransparent,2);

// 指定需要透明的背景颜色值,可用RGB()宏

}
FreeLibrary(hInst);
}
}

参数1:

窗口句柄

参数2:

透明Crkey的颜色,RGB(255,0,0)为红色全透明

参数3:

透明度:0全透 255 不透明

参数4:透明的方式

LWA_ALPHA时:crKey参数无效,bAlpha参数有效;
LWA_COLORKEY:窗体中的所有颜色为crKey的地方将变为透明,bAlpha参数无效。
LWA_ALPHA | LWA_COLORKEY:crKey的地方将变为全透明,而其它地方根据bAlpha参数确定透明度。

设置窗口的透明度。

原文地址:https://www.cnblogs.com/xdbleo/p/4300994.html