VC++开发GIS系统(67)工程面板CTreeCtrl响应右键菜单

在文章《VC++开发GIS系统(64)CTreeCtrl中替换加号为三角形小键头》和文章《VC++开发GIS系统(65)CTreeCtrl中不显示虚线》中已经将左侧的管理面板优化的差不多了,现在开始做相关功能的开发,今天介绍响应右键菜单。效果如图:

1. 新建菜单

在资源面板的menu,添加菜单,会自动生成一个ID,然后添加自己需要使用的菜单。

2. 调用菜单

在PrjManage.cpp中找到OnContextMenu函数,添加下面的代码

/*
* 加载自定义的右键菜单
*/
CMenu menu;
CString str = m_wndPrjView.GetItemText(selTreeItem);

menu.LoadMenu(IDR_MENU_PRJ);

CMenu *pPopup = menu.GetSubMenu(0);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

这里主要用到是LoadMenu函数,其中的IDR_MENU_PRJ就是在第1步新建菜单时候的ID。

建议参考本系统的开源项目的代码,地址:GitHub

VC++开发GIS系统(66)补充知识MFC中判断系统版本 VC++开发GIS系统(68)不同节点加载不同右键菜单

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论