gpt4 book ai didi

c++ - 轨道菜单弹出 : popup menu keeps disappearing

转载 作者:行者123 更新时间:2023-11-30 17:59:29 25 4
gpt4 key购买 nike

我创建了一个弹出菜单,当用户使用TrackPopupMenu单击任务栏图标时将显示该菜单。 。该代码工作正常,直到我单击菜单外部以取消选择项目。然后每当我左/右键单击该图标时,菜单就会弹出并在我看到它之前立即消失(看起来 TrackPopupMenu 立即返回 0)。 MDSN 告诉了通过在 TrackPopupMenu 之后添加 PostMessage(hDlg, WM_NULL, 0, 0); 来修复的方法,但它不起作用。

这是我的代码:

case WM_LBUTTONUP :
case WM_RBUTTONUP :
POINT p;
GetCursorPos(&p);
HMENU hPopupMenu = CreatePopupMenu();
AppendMenu(hPopupMenu, MF_ENABLED, ID_ADDMUSIC, L"Add music" );
AppendMenu(hPopupMenu, MF_ENABLED, ID_REMOVEMUSIC, L"Remove music");
SetForegroundWindow(msgInfo->hwnd);
result = TrackPopupMenu(hPopupMenu, TPM_BOTTOMALIGN | TPM_RIGHTALIGN | TPM_NONOTIFY |
TPM_RETURNCMD | TPM_RIGHTBUTTON | TPM_VERNEGANIMATION,
p.x, p.y, 0, msgInfo->hwnd, NULL);
PostMessageW(msgInfo->hwnd, WM_NULL, 0, 0);
DestroyMenu(hPopupMenu);

最佳答案

我相信您检查 WM_LBUTTONUPWM_LBUTTONDOWN 不是执行此操作的正确方法。在创建任务栏图标时,我们指定回调消息。必须检查此消息,并在该消息中检查 LPARAM 中的 WM_LBUTTONUPWM_LBUTTONDOWN

关于c++ - 轨道菜单弹出 : popup menu keeps disappearing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11379953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com