设置dialog的背景为透明色:在OnInitDialog()中加入以下
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);
}
本文介绍了一种在Windows应用程序中将对话框(Dialog)背景设为透明的方法。通过调整窗口样式及使用SetLayeredWindowAttributes函数来实现半透明效果。
2207

被折叠的 条评论
为什么被折叠?



