我的应用程序(用C ++编写)使用Win32(不是MFC)用CreateWindowEx创建几个窗口。主窗口将桌面作为父窗口,子窗口将主窗口作为父窗口。
我的问题:
现在我的应用程序的主窗口已激活,而不是子窗口。如果我切换回单击任务栏条目,子窗口将保持活动状态。
只有Aero(有和没有Glass)才会发生这种情况。如果我激活经典的窗口方案,一切都像在Windows XP中一样(使用ALT + TAB切换回使子窗口处于活动状态)。
任何建议或链接或其他资源?
(示例代码有点难以提供,因为UI元素包含在具有字符串等自己的数据类型的类中。)
似乎带有经典方案的Vista向主窗口发送WM_ACTIVATE,向另一个窗口发送另一个WM_ACTIVATE(由主窗口拥有)。 启用Vista Aero后,只有主窗口获得WM_ACTIVATE。奇