读书人

怎么在listControl上弹出菜单

发布时间: 2012-02-20 21:18:24 作者: rapoo

如何在listControl上弹出菜单
我用vc6生成一个dialog在上面添加一个list control我想在list上单击鼠标右键时弹出一个菜单,选择菜单中的一项后可以删除list中选择的那项,请各个例子,
谢谢

[解决办法]
首先添加一个菜单资源(IDR_MENU)。

添加鼠标右键消息处理函数,函数代码如下:
CMenu menu;
menu.LoadMenu(IDR_MENU);
CMenu * pSubMenu=menu.GetSubMenu(0);
CPoint Point;
::GetCursorPos(&Point);
pSubMenu-> TrackPopupMenu(TPM_LEFTALIGN,Point.x,Point.y,this);
至于删除list中选择的那项,处理相关的菜单项消息函数即可。
[解决办法]
void CXXXXDlg::OnNMRclickList1(NMHDR *pNMHDR, LRESULT *pResult)
{
CMenu menu, *pSubMenu;
CPoint pos;
GetCursorPos(&pos);
if (!menu.LoadMenu(IDR_MENU1))
{
return ;
}
if (!(pSubMenu=menu.GetSubMenu(0)))
{
return ;
}
SetForegroundWindow();
pSubMenu-> TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, pos.x, pos.y, this);
menu.DestroyMenu();
*pResult = 0;
}

读书人网 >VC/MFC

热点推荐