关于建立透明化对话框
我想建立一个透明化对话框,在对话框初始化时用如下代码实现透明:
SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
HINSTANCE hInst = LoadLibrary(L"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,270,2);
FreeLibrary(hInst);
}
我在对话框上加了一张位图,问题是当对话框透明时位图也透明了,所以想问大家有没有什么办法只让对话框透明而位图不透明,最终实现的效果就如同下面连接的图片:
http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=xp%B5%C7%C2%BD%BD%E7%C3%E6&in=18004&cl=2&cm=1&sc=0&lm=-1&pn=108&rn=1&di=1029711216&ln=1539
请问该如何解决?