在VC++中,如何通过点击父窗口中的按钮,改变非模态子窗口的窗口风格,将其改为鼠标穿透?
我知道如何在初始化时改变窗口风格,但是能否在窗口已经打开后,再次修改窗口的风格,应该怎么操作?求大神详细操作...
我知道如何在初始化时改变窗口风格,但是能否在窗口已经打开后,再次修改窗口的风格,应该怎么操作?求大神详细操作
展开
2个回答
展开全部
pDlg = new CTestDlg;
pDlg->Create( .... );
pDlg->ShowWindow();
在父窗口按钮的点击消息中:
long lStyle = GetWindowLong( pDlg->GetSafeHwnd(), GWL_EXSTYLE );
SetWindowLong( pDlg->GetSafeHwnd(), GWL_EXSTYLE, lStyle | WS_EX_TRANSPARENT | WS_EX_LAYERED );
pDlg->Create( .... );
pDlg->ShowWindow();
在父窗口按钮的点击消息中:
long lStyle = GetWindowLong( pDlg->GetSafeHwnd(), GWL_EXSTYLE );
SetWindowLong( pDlg->GetSafeHwnd(), GWL_EXSTYLE, lStyle | WS_EX_TRANSPARENT | WS_EX_LAYERED );
追问
pDlg = new CTestDlg;
pDlg->Create( .... );
pDlg->ShowWindow();
是放在哪个部分?
追答
这是创建并显示非模对话框,随便你放哪,因为你要在父窗口按钮的点击消息处理中访问pDlg,所以创建非模窗口的函数和按钮点击处理的函数都要能访问到pDlg.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询