void OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
判断右键菜单响应是否允许响应d出菜单后执行:
int m_CurSel = m_list.GetSelectionMark()//获得当前选中的item的mark(索引号)
if(m_CurSel != -1)
{
//选中之后你要做什么;
}
}
对列表视图的控制有一系列的函数的, *** 作非常方便
你这里说的上下文菜单是右键菜单,这是d出式菜单,菜单的添加方式和普通菜单添加方法一样,可以通过CMenu类的TrackPopupMenu函数创建d出式菜单,通过OnRButtonDown()右键消息根据m_CurSel的值就能对哪个item项进行 *** 作了
,简略调用:
CWnd *pWnd=AfxGetApp( )->GetMainWnd( )//获得窗口指针
CMenu * pMenu=pWnd->GetMenu( )//获得menu指针
CMenu* submenu = pMenu->GetSubMenu(5)//获取“命令”菜单项
CPoint pt
GetCursorPos(&pt)//获得鼠标位置
submenu->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this)//d出浮动菜单
上面的方法是d出已有菜单项里面的下拉菜单,如果项单独创建菜单资源,则可以独立插入一个新的菜单,调用代码:
CMenu menu//定义菜单
menu.LoadMenu(IDR_FLOATMENU)//载入浮动菜单
CMenu *pM=menu.GetSubMenu(0)//菜单的第一项作为浮动菜单
CPoint pt
GetCursorPos(&pt)//获得鼠标位置
submenu->TrackPopupMenu(TPM_LEFTALIGN,pt.x,pt.y,this)//d出浮动菜单
1、先在资源视图下选择添加资源,选择菜单,然后在对话框的属性栏,选择Menu(会有你添加菜单的ID)即可。2、先在资源视图下选择添加资源,选择菜单
CMenu
m_menu
m_menu.loadMenu(你添加菜单资源的ID);
SetMenu(&m_menu)
为了回答你的问题。我用图片来显示
新建一个MFC工程,选择单文档。
打开资源视图列表
选择插入一个对话框
然后在d出来的对话框点击右键或者双击(我电脑抽疯,双击还不行了),选择添加一个类。
然后在回到资源视图,打开menu菜单,点击IDR_MAINFRAME
在上面菜单栏编辑你要的菜单项,点击右键或者双击,添加命令响应,选择view类。
然后就是添加函数啊。要记得在Ctest1View里面加上dlg.h这个头文件
效果如图。
你要在有什么不懂,可以问我。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)