【发布时间】:2011-04-08 15:44:08
【问题描述】:
我正在使用 C++ 和 Win32。
我希望我的上下文菜单和设置对话框显示在托盘图标附近。我想我需要图标的坐标来做到这一点。
Shell_NotifyIconGetRect 直到 Windows 7 才可用。
WM_CONTEXTMENU 从 Win2k 开始可用,但从 Vista 开始仅提供 wParam 中的坐标(以及在指定 NOTIFYICON_VERSION_4 时)。
【问题讨论】:
-
使用鼠标消息中的位置来放置菜单
-
好吧,这很有道理。我也可以在设置对话框中这样做。
-
@Erik @Ian 如果从键盘调用菜单会发生什么?
-
如何使用键盘调用上下文菜单?该图标不可聚焦。
-
不容易聚焦。如果您使用键盘调用上下文菜单,Windows 似乎会将光标移动到图标的中心(至少在 Windows 7 上),因此 GetMessagePos() 可能会起作用。
标签: winapi notifyicon trayicon