窗口透明问题
我有多层次的窗口,是这样的,我创建了三个窗口, 一个继承于CDialog为dlg1,还有
两个继承与CWnd,分别dlg2和dlg3,我创建的时候是这样的层次关系。
dlg1是dlg2的父窗口,dlg2是dlg3的父窗口,dlg2和dlg3是POPUP的类型.
现在我要把dlg2弄成透明的。所以我在dlg2的创建函数哪里,如下
BOOL CWndClass::Create(const RECT& rect, CWnd* pParentWnd)
{
CString strClassName = AfxRegisterWndClass(0);
BOOL bRet = CWnd::CreateEx(0, strClassName, _T("window"), WS_POPUP | WS_VISIBLE, rect, pParentWnd,0,NULL);
SetWindowLong(m_hWnd, GWL_EXSTYLE, GetWindowLong(m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED);
SetLayeredWindowAttributes(0, 0, LWA_ALPHA);
return bRet;
}
但是执行上面的代码后,dlg2和dlg3都不见了,请问这是什么原因,和怎么才可以实现只dlg2透明,其它不透明.