VC实现半透明对话框的代码
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);
}
......
}
本文介绍了一种使用VC实现对话框半透明效果的方法。通过调整窗口样式并利用SetLayeredWindowAttributes函数设置对话框的透明度,实现了自定义透明级别的半透明对话框。这种方法适用于需要创建视觉效果更佳的应用场景。

617

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



