为什么任务栏消失了,任务栏按钮的显示方式_可乐在线注册主管_可乐在线

为什么任务栏消失了,任务栏按钮的显示方式

  • 时间:
  • 浏览:0



蜈蚣

有时,你会发觉那么一个状况:点一下任务栏图标上的一个空缺按钮后,这一按钮就消退不见了。这是为什么呢?在MSDN上,有一篇文章《some basic rules on which windows go into the taskbar》做了些详细介绍,简单点来说:>假如一个对话框设定了WS_EX_APPWINDOW设计风格,则它会显示信息在任务栏图标上。>假如一个对话框是顶尖且未被有着的,则它会显示信息在任务栏图标上。>别的的全部状况,都不容易显示信息在任务栏图标上。

(虽然ITaskbarList插口把事儿搞得一些繁杂),当一个任务栏图标可认知(taskbar-eligible)对话框变成由此可见情况时,任务栏图标可能为这一对话框建立一个按钮。当它变成掩藏情况时,任务栏图标会清除这一按钮。假如对话框的情况处在任务栏图标可认知(taskbar-eligible)和任务栏图标不能认知(taskbar-ineligible)这二种情况中间时,当这一对话框是由此可见时,则一个空缺的按钮会显示信息在任务栏图标上。

考虑到下列行为模式

>对话框是任务栏图标可认知的。>对话框假如变成由此可见情况,则任务栏图标按钮建立。>对话框变成了任务栏图标不能认知的。>对话框变为了不可见情况,由于这时对话框并不是任务栏图标可认知的,因此 任务栏图标忽视了这一转变。

导致的結果

在任务栏图标会出現一个沒有挂收到一切对话框的按钮。这一也是文本文档会那样提议:”假如你期待将一个对话框的设计风格开展动态性的设定为一个不兼容任务栏图标按钮的设计风格,你务必先将对话框开展掩藏(根据传到SW_HIDE到ShowWindow中),随后改动对话框的设计风格,最终显示信息对话框。”

那么问题来了

为何任务栏图标不对全部对话框的显示信息和掩藏开展监管呢?

回答

由于这一实际操作是十分价格昂贵的。过虑出不符任务栏图标标准的对话框这一姿势产生在USER32控制模块內部,仅有当任务栏图标满足条件的对话框的情况发生了转变,它就根据HSHELL*通告信息来通告任务栏图标(或一切安裝了WH_SHELL勾子的部件)。那样,任务栏图标编码就不容易在沒有一切事儿可做的状况下被页换入(paged in)。

小结

这里边的情况互动,还挺繁杂的哈。待会儿,让我将这事情给一缕。。。

最终

Raymond Chen的《The Old New Thing》就是我非常喜欢的blog之一,里边有很多有关Windows的小常识,针对众多Windows平台开发人员而言,的确十分有协助。文中来源于:《What’s with those blank taskbar buttons that go away when I click on them?》