Vista中的ALT + TAB激活主窗口而不是以前活动的子窗口

时间:2009-07-21 10:32:04

标签: windows-vista aero childwindow

我的应用程序(用C ++编写)使用Win32(不是MFC)用CreateWindowEx创建几个窗口。主窗口将桌面作为父窗口,子窗口将主窗口作为父窗口。

我的问题:

  • 我的应用有一个活跃的子窗口
  • 我切换到另一个应用程序(每次点击,ALT + TAB或其他,无所谓)
  • 我使用ALT + TAB切换回我的应用

现在我的应用程序的主窗口已激活,而不是子窗口。如果我切换回单击任务栏条目,子窗口将保持活动状态。

只有Aero(有和没有Glass)才会发生这种情况。如果我激活经典的窗口方案,一切都像在Windows XP中一样(使用ALT + TAB切换回使子窗口处于活动状态)。

任何建议或链接或其他资源?

(示例代码有点难以提供,因为UI元素包含在具有字符串等自己的数据类型的类中。)


似乎带有经典方案的Vista向主窗口发送WM_ACTIVATE,向另一个窗口发送另一个WM_ACTIVATE(由主窗口拥有)。 启用Vista Aero后,只有主窗口获得WM_ACTIVATE。奇

0 个答案:

没有答案
相关问题