我在使用clistctrl时,右击其元素希望弹出一个菜单,具有“定位、复制、删除、重命名、属性”功能。
首先处理弹出菜单,对clistctrl建立右击消息:ON_NOTIFY(NM_RCLICK, IDC_LIST, OnRclickList)
函数如下:
void CFinderDemoDlg::OnRclickList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TrackPopupMenu只能处理弹出式菜单
CMenu menu_1;
menu_1.LoadMenu(IDR_MENU2);
CMenu* menu_2=menu_1.GetSubMenu(0);
CPoint ptCursorPos;
GetCursorPos(&ptCursorPos);
CRect rclist;
m_ListCtrl.GetWindowRect(&rclist);
if(rclist.PtInRect(ptCursorPo

本文介绍如何在clistctrl组件上实现右键点击弹出菜单功能,包括‘定位、复制、删除、重命名、属性’等选项。通过处理NM_RCLICK消息,加载资源对话框中的弹出菜单,并使用TrackPopupMenu函数进行显示。同时,提供了定位功能的消息处理函数OnMenuitemlocate作为示例,实现了选择列表项并用explorer.exe打开相应路径的功能。
576

被折叠的 条评论
为什么被折叠?



