让对话框的某部分透明?

taotao7805 2005-03-18 09:29:25
我想让我对话框的某部分透明显示被这部分遮住的另一个对话框,要实现这个应该怎么做吗?
...全文
82 点赞 收藏 6
写回复
6 条回复
TianChong 2005年03月19日
我想也应该重载才能解决这个问题.
回复 点赞
taotao7805 2005年03月18日
有没有相关的一个例程吗?
回复 点赞
HuiChen 2005年03月18日
如果使用 VC 7.0,可以调用 CWnd::SetLayeredWindowAttributes 函数
如果使用 VC 6.0,可以在OnInitDialog函数添加代码:
SetWindowLong( GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong( GetSafeHwnd(), GWL_EXSTYLE )^0x80000);
HINSTANCE hInst = LoadLibrary( "User32.DLL" );
if(hInst)
{
typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD);
MYFUNC fun = NULL;
fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes");
if(fun)fun(this->GetSafeHwnd(),0,128,2);
FreeLibrary(hInst);
}
回复 点赞
吹泡泡的小猫 2005年03月18日
用SetWindowRgn设置窗口区域或形状
回复 点赞
张佩 2005年03月18日
gz
回复 点赞
palmax 2005年03月18日
如果要让对话框部分透明 还是自己重载CDialog类好了(自己用GDI去画)
回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7975

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告