mfc中怎么使得对话框有半透明效果
3个回答
展开全部
在ONINITIALDIALOG中加入一下代码
//设置透明
ModifyStyleEx(0,0x00080000);
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,220,2);
FreeLibrary(hInst);
}
那个 fun的第3个参数为ALPHA, 可以baidu 【setlayeredwindowattributes】
//设置透明
ModifyStyleEx(0,0x00080000);
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,220,2);
FreeLibrary(hInst);
}
那个 fun的第3个参数为ALPHA, 可以baidu 【setlayeredwindowattributes】
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用
SetLayeredWindowAttributes
在使用这个函数之前先设置窗口的扩展样式为WS_EX_LAYERED
SetLayeredWindowAttributes
在使用这个函数之前先设置窗口的扩展样式为WS_EX_LAYERED
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个你去看看一些界面库支持不支持吧。。比如Skin++。。自己动手的话好难啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询