在右键消息 NM_RClick 添加如下代码
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<NMITEMACTIVATE*>(pNMHDR);
// TODO: 在此添加控件通知?理程序代?
int index = pNMItemActivate->iItem;
if( index == -1 )
return;
HMENU hMenu = ::CreatePopupMenu();
AppendMenu( hMenu, MF_STRING, 10001, _T("丟棄") );
AppendMenu(hMenu,MF_STRING,10002,_T("出售"));
CPoint pt;
GetCursorPos(&pt); //获得当前鼠标位置
UINT Cmd = (UINT)::TrackPopupMenu( hMenu, TPM_LEFTALIGN|TPM_RETURNCMD, pt.x, pt.y, 0, m_hWnd, NULL );//弹出菜单
switch( Cmd )//响应点击的菜单
{
case 10001:
break;
case 10002:
break;
}
*pResult = 0;
需要注意的是 微软生成LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<NMITEMACTIVATE*>(pNMHDR);
时原码是 LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<NMITEMACTIVATE>(pNMHDR);
需要将NMITEMACTIVATE转换成NMITEMACTIVATE*