gpt4 book ai didi

c++ - 如何在列表框右键单击时创建上下文菜单?

转载 作者:太空狗 更新时间:2023-10-29 20:15:13 25 4
gpt4 key购买 nike

我有一个带有列表框的窗口,我想右键单击列表框中的一个条目,并在上下文菜单中显示某些选项。我在网上看过,但似乎我只能在 MFC C++ 或简单的 c# 中获得示例。

这在标准的 Win32 c++ 中可能吗?我可以通过 WM_CONTEXTMENU 消息处理列表框上的右键单击,但如何才能显示菜单?

最佳答案

感谢 Bhargav Bhat 对相关问题的评论,我明白了。

通过检查 WndProc 中的 WM_CONTEXTMENU 处理列表框上的右键单击。

通过 wParam 参数获取窗口句柄,将其与您的列表框进行比较以查看用户是否右键单击了列表框。

从那里,通过 CreatePopupMenu() 创建弹出菜单。

通过 InsertMenu()/AppendMenu() 插入/追加到菜单中。

最后,调用 TrackPopupMenu()。

case WM_CONTEXTMENU:
if ((HWND)wParam == m_hListBox) {
m_hMenu = CreatePopupMenu();
InsertMenu(m_hMenu, 0, MF_BYCOMMAND | MF_STRING | MF_ENABLED, 1, "Hello");
TrackPopupMenu(m_hMenu, TPM_TOPALIGN | TPM_LEFTALIGN, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, m_hWnd, NULL);
}

关于c++ - 如何在列表框右键单击时创建上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14001398/

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