15,976
社区成员
发帖
与我相关
我的任务
分享 DWORD dwExStyle = WS_EX_TOOLWINDOW | WS_EX_TOPMOST | WS_EX_LAYERED;
DWORD dwStyle = WS_POPUP | WS_VISIBLE | WS_CLIPCHILDREN;
if (!CWnd::CreateEx(dwExStyle, ALL_CLASSNAME, ALL_EXENAME,
dwStyle, x, y, m_nWndWidth, m_nWndHeight, hWndParent, NULL)) {
return FALSE;
}
终于有一个同胞遇到和我同样的问题了。
你可以新建一个项目做实验,在子窗口和视窗口分别设计好一样的响应函数,比如在子窗口的左键单击响应弹出提示窗口“child”,在视窗口的左键单击响应弹出“view”,可以发现弹出的是view。
这是为什么呢?将子窗口的风格逐个实验,发现是WS_EX_LAYERED风格的问题,去掉这个风格就没有问题了。可能是因为这个透明属性将按键也给透过去了吧。但是这个属性有时候是我们需要的功能,没办法,只能在view中响应了。期待解决办法...