VC++ 使窗体拥有透明效果地API

来源:互联网 发布:有孚网络待遇怎么样 编辑:程序博客网 时间:2024/04/30 13:51
在OnInitDialog()加入:
//加入WS_EX_LAYERED扩展属性 WS_EX_LAYERED = 0x80000;
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,

GetWindowLong(
this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);

HINSTANCE hInst 
= LoadLibrary("User32.DLL"); 

if(hInst) 



typedef BOOL (WINAPI 
*MYFUNC)(HWND,COLORREF,BYTE,DWORD); 

MYFUNC fun 
= NULL;

//取得SetLayeredWindowAttributes函数指针 

fun
=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");

if(fun)fun(this->GetSafeHwnd(),0,128,2); 

FreeLibrary(hInst); 

}
注意第三个参数(128)不要取得太小了,为0的话完全透明,你就找不到窗体了! 
 
原创粉丝点击