VC 给列表框添加【右键按键菜单】功能
2013-01-08 15:00
232 查看
1.在项目资源文件中加入一个新的Menu资源,作为右键点击弹出的菜单。
并在Menu上面填上相应的响应的子菜单。
如图:
填好相应的ID值:
Caption -> ID
Menu -> IDR_MENU_BATCH_RCLICK
Edit Song -> ID_BATCH_MENU_EDIT_SONG
Delete Song -> ID_BATCH_MENU_DEL_SONG
2.在List控件的事件响应函数中,加入对"NM_RCLICK"消息的响应。
其中,IDR_MENU_BATCH_RCLICK 为在资源文件中新添加的右键菜单弹出的Menu的ID.
3.添加子菜单的响应函数:
A.点击子菜单的某一项 -> "添加事件处理程序..." 。
B.在弹出的"事件处理程序向导"对话框中的类列表中选中List控件所在的类,
然后在消息类型中选择"COMMAND",函数处理程序名称可以自己编辑一下,
然后点击"添加编辑"。 这样就生成了一个子菜单点击响应的函数。
【此次界面操作,编译器会自动在响应的CPP文件中加入如下代码:
BEGIN_MESSAGE_MAP(KodBatchSongDlg, CDialog)
ON_COMMAND(ID_BATCH_MENU_EDIT_SONG, &KodBatchSongDlg::OnBatchMenuEditSong)
END_MESSAGE_MAP()
void KodBatchSongDlg::OnBatchMenuEditSong()
{
// TODO: 在此添加命令处理程序代码
}
并把OnBatchMenuEditSong()函数在类里面做一个声明。
】
4.填充OnBatchMenuEditSong函数,添加响应的程序代码即可。
并在Menu上面填上相应的响应的子菜单。
如图:
填好相应的ID值:
Caption -> ID
Menu -> IDR_MENU_BATCH_RCLICK
Edit Song -> ID_BATCH_MENU_EDIT_SONG
Delete Song -> ID_BATCH_MENU_DEL_SONG
2.在List控件的事件响应函数中,加入对"NM_RCLICK"消息的响应。
void KodBatchSongDlg::OnNMRclickListBactsong(NMHDR *pNMHDR, LRESULT *pResult) { // TODO: 在此添加控件通知处理程序代码 NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; if(pNMListView->iItem != -1) { DWORD dwPos = GetMessagePos(); CPoint point( LOWORD(dwPos), HIWORD(dwPos) ); CMenu menu; VERIFY( menu.LoadMenu( IDR_MENU_BATCH_RCLICK ) ); CMenu* popup = menu.GetSubMenu(0); ASSERT( popup != NULL ); popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this ); } }
其中,IDR_MENU_BATCH_RCLICK 为在资源文件中新添加的右键菜单弹出的Menu的ID.
3.添加子菜单的响应函数:
A.点击子菜单的某一项 -> "添加事件处理程序..." 。
B.在弹出的"事件处理程序向导"对话框中的类列表中选中List控件所在的类,
然后在消息类型中选择"COMMAND",函数处理程序名称可以自己编辑一下,
然后点击"添加编辑"。 这样就生成了一个子菜单点击响应的函数。
【此次界面操作,编译器会自动在响应的CPP文件中加入如下代码:
BEGIN_MESSAGE_MAP(KodBatchSongDlg, CDialog)
ON_COMMAND(ID_BATCH_MENU_EDIT_SONG, &KodBatchSongDlg::OnBatchMenuEditSong)
END_MESSAGE_MAP()
void KodBatchSongDlg::OnBatchMenuEditSong()
{
// TODO: 在此添加命令处理程序代码
}
并把OnBatchMenuEditSong()函数在类里面做一个声明。
】
4.填充OnBatchMenuEditSong函数,添加响应的程序代码即可。
相关文章推荐
- FckEditor添加右键菜单;增加编辑区右键图片删除功能(asp.net )(一)
- FckEditor添加右键菜单;增加编辑区右键图片删除功能(asp.net )(二)
- 如何在右键菜单中添加Beyond Compare合并功能
- VC 点击右键 添加菜单 onContextMenu
- 为jQuery-easyui的tab组件添加右键菜单功能的简单实例
- 为光驱右键菜单添加“关闭”功能菜单
- 为jQuery-easyui的tab组件添加右键菜单功能
- 表格添加右键菜单功能
- MFC 添加右键菜单选项功能
- 为光驱右键菜单添加“关闭”功能菜单
- VC在指定控件中添加右键菜单的两种方法
- Installshield 中 添加环境变量、设置右键菜单功能
- silverlight:向TextBox添加右键菜单,菜单包括复制、粘贴、剪切、选择全部等四项功能!
- FckEditor添加右键菜单;增加编辑区右键图片删除功能(asp.net )
- 【xinfanqie】不为人知的Win7右键菜单添加功能
- ListBox添加右键菜单并选择该项功能的实现
- 添加功能到系统右键菜单
- VC 添加对话框右键菜单方法
- 为jQuery-easyui的tab组件添加右键菜单功能
- 给DataGridVew添加右键菜单,并实现增删改等功能