0

如果我的 wxWidgets 应用程序在应用程序没有焦点时创建了一个新窗口,它的任务栏图标会闪烁黄色,直到我切换到它,如下所示:

在此处输入图像描述

这很烦人。我怎样才能防止这种情况发生?

编辑:这个问题的原始版本表明在启动期间发生了闪烁。经过进一步调查,这不是在应用程序启动时发生的;相反,如果我在应用程序没有焦点的情况下创建一个额外的窗口,就会发生这种情况。

提供更多背景知识:我的应用程序是一种服务器,它打开窗口以响应网络事件。如果我启动应用程序,然后将焦点切换到其他东西并且焦点在其他地方时出现网络事件,我的应用程序将在后台打开一个新窗口(不抓住焦点)并且会发生这种闪烁。

窗户是wxFrames; 应用程序构造它们和它们的子部件,然后调用Show(true)框架。

另外,我尝试在FlashWindowWin32 API 函数上设置断点,希望能在 WX 中的任何地方捕获它被调用的地方,但无法实现。

4

2 回答 2

3

也许以下方法会起作用:

wxTopLevelWindow::ShowWithoutActivating ( )

http://docs.wxwidgets.org/trunk/classwx_top_level_window.html#a03e526f505716568318d601318527bd0

于 2013-03-12T13:39:50.537 回答
1

是的。如果您在应用程序没有焦点时创建新的顶级窗口,则任务栏图标将闪烁。这是 Windows 操作系统的预期行为。

于 2013-03-11T20:00:57.607 回答