透明窗口,开始///
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^1000000);
// ::SetLayeredWindowAttributes(this->GetSafeHwnd(),0,100,0);
HINSTANCE hInst= LoadLibraryA("User32.dll");
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun=NULL;
fun=(MYFUNC)GetProcAddress(hInst,"SetLayeredWindowAttributes");
if(fun) fun(this->GetSafeHwnd(),0,230,2);
FreeLibrary(hInst);
}
结束
当取值为LWA_ALPHA时,crKey参数无效,bAlpha参数有效;
当取值为LWA_COLORKEY时,bAlpha参数有效而窗体中的所有颜色为crKey的地方将
变为透明。 LWA_ALPHA = 0x2 LWA_COLORKEY=0x1
也可以取两个值的组合:LWA_ALPHA Or LWA_COLORKEY。这样crKey的地方将变为全透明,
而其它地方根据bAlpha参数确定透明度