void CMyView::OnRButtonDown(UINT nFlags, CPoint point)
{
CScrollView::OnRButtonDown(nFlags, point);
CMenu *menu, *popup;
menu = new CMenu();
// load menu from resource file
menu->LoadMenu( IDR_POPUPMENU );
popup = menu->GetSubMenu(0); // item 0 is DUMMY
UINT nEnable;
nEnable = MF_BYCOMMAND|MF_GRAYED;
if( your test )
{
nEnable = MF_BYCOMMAND| MF_GRAYED;
}
popup->EnableMenuItem( ID_YOUR_ID, nEnable );
//display menu
ClientToScreen(&point);
popup->TrackPopupMenu(
TPM_LEFTALIGN | TPM_RIGHTBUTTON,
point.x, point.y, this );
delete menu;
}
博客展示了一段C++代码,实现了在视图类中处理右键点击事件。代码创建了一个菜单,从资源文件加载菜单,对菜单项进行启用状态设置,最后显示菜单并在操作完成后删除菜单。
1197

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



