【问题标题】:How to CLOSE a context menu after a timeout?超时后如何关闭上下文菜单?
【发布时间】:2013-10-07 13:27:38
【问题描述】:

我需要在一段时间不活动后自动关闭上下文菜单(当前使用 TrackPopupMenu 创建)。我正在尝试搜索但只找到相反的内容(如何在超时后激活弹出窗口)或特定应用程序的专门内容。我发现唯一更接近的事情是枚举桌面的子项,直到找到一个类名为 #32768 的窗口——这将是菜单——然后关闭它。

我希望有一个更好、更清晰的方法。有什么建议吗?

【问题讨论】:

  • 通常你不需要关闭弹出菜单,直到它失去焦点。这是合理的,因为您永远不知道某人阅读或需要找到正确条目的速度。如果您需要在一段时间后让信息消失,请创建一个小的无边框窗口。这样您就可以完全控制它。

标签: c windows winapi


【解决方案1】:

向承载上下文菜单的父窗口发送WM_CANCELMODE 消息。

【讨论】:

  • 谢谢!那是我不知道的。这么多消息,对于这么小的头脑! (当然是我的)
  • Raymond Chen 写了一个关于 UI 模式的系列博客,其中包括实现消息框的超时,这与您的问题类似。如果您想了解血淋淋的细节,请从这里开始研究这些:blogs.msdn.com/b/oldnewthing/archive/2005/02/18/376080.aspx
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
  • 1970-01-01
相关资源
最近更新 更多