如果我的wxWidgets应用程序在应用程序没有焦点时创建了一个新窗口,它的任务栏图标会闪烁黄色,直到我切换到它,如下所示:
这很烦人。我怎样才能防止这种情况发生?
编辑:此问题的原始版本表明启动期间发生了闪烁。经过进一步调查,这在申请启动时没有发生;相反,如果我在应用程序没有焦点时创建了一个额外的窗口,就会发生这种情况。
为了提供更多背景知识:我的应用程序是一种服务器,可以打开窗口以响应网络事件。如果我启动应用程序,然后将焦点切换到其他内容并且当焦点位于其他地方时会出现网络事件,我的应用程序将在后台打开一个新窗口(不会抓住焦点)并且会发生这种闪烁。
窗口是wxFrame
s;应用程序构造它们及其子窗口小部件,然后在框架上调用Show(true)
。
另外,我试图在FlashWindow
Win32 API函数上设置一个断点,希望能够在WX的哪个地方调用它,但是还没有能够制作那工作。
答案 0 :(得分:2)
以下可能会有效:
wxTopLevelWindow :: ShowWithoutActivating()
http://docs.wxwidgets.org/trunk/classwx_top_level_window.html#a03e526f505716568318d601318527bd0
答案 1 :(得分:1)
是。如果您在应用程序没有焦点时创建新的顶级窗口,则任务栏图标将闪烁。这是Windows操作系统的预期行为。