您的位置:首页 > 编程语言 > C语言/C++

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

2007-03-21 19:51 387 查看
在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的话完全透明,你就找不到窗体了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: