我的对话框里有个ListView控件;
我设置了一个右键的通知消息NM_RCLICK,
在消息里,有一个弹出菜单,我要如何才能接收到这个弹出菜单的命令??大概代码如下:
LPNMITEMACTIVATE lpnmitem=(LPNMITEMACTIVATE)lParam;
if((lpnmitem->hdr).code==NM_RCLICK){
int nIndex=lpnmitem->iItem;
POINT point=lpnmitem->ptAction;
ClientToScreen(hCtrl,&point);
TrackPopupMenu(g_hMenu,TPM_RIGHTBUTTON,point.x,point.y,0,hCtrl,NULL);
}
我设置了一个右键的通知消息NM_RCLICK,
在消息里,有一个弹出菜单,我要如何才能接收到这个弹出菜单的命令??大概代码如下:
LPNMITEMACTIVATE lpnmitem=(LPNMITEMACTIVATE)lParam;
if((lpnmitem->hdr).code==NM_RCLICK){
int nIndex=lpnmitem->iItem;
POINT point=lpnmitem->ptAction;
ClientToScreen(hCtrl,&point);
TrackPopupMenu(g_hMenu,TPM_RIGHTBUTTON,point.x,point.y,0,hCtrl,NULL);
}
解决方案 »
- GridCtrl中设置了combo控件,如何设置可以在tab selchange的时候不显示或者更新combo?
- 请问有关Release和Debug的问题
- 怎么样给combo box控件加了两个成员变量
- 关于VC程序WEB发布的问题
- 本人想新开一个版块(程序人生),希望大家支持一下
- 【问问】请问大家都是什么时候,在什么情况下才学的MFC??
- 大家帮忙分析如下代码如何出错(VC+ODBC)
- 自己认为是c/c++高手的请进
- 一个空虚的程序员(续)
- ********请问如何知道鼠标是否位于客户区外的滚动条上!!详细请进入
- 我要做一个程序来访问SYBASE数据库,但是要联上服务器上的几个数据库,不知道如何操作?
- DirectX SDK问题
伊人何在?...
TrackPopupMenu(g_hMenu,TPM_RIGHTBUTTON,point.x,point.y,0,hCtrl,NULL);改hCtrl为GetSafeHwnd就行了,如果你弹出菜单代码是对话框的成员函数的话
TrackPopupMenu(g_hMenu,TPM_RIGHTBUTTON,point.x,point.y,0,GetSafeHwnd(),NULL);此时你就可以在对话框中添加ON_COMMAND 来处理菜单命令了
设置成hCtrl要想处理菜单消息的,需要对该listControl进行子类化
hCtrl是ListView控件的句柄;
我把那个句柄改成引进对话框的就OK了。
TrackPopupMenu(g_hMenu,TPM_RIGHTBUTTON,point.x,point.y,0,hDlg,NULL);这样就可以用对话框的例程来接收来自快捷菜单Command命令了。