VC++ 深入详解 学习笔记(2) 添加右键菜单

阅读更多

今天看到了第6章,发现VC6跟VC9还是有很大的不同。

 

教材里面本章教授的添加右键菜单的方式,新版似乎没有了。

 

要在MFC中添加右键菜单,在VC9中需要以下步骤:

 

1. 在资源中添加菜单。 添加一个PopUP Menu,然后增加几个你需要的子菜单。 给这个菜单取个名字。如 IDR_POPUP

2. 在View中添加OnRButtonDown事件处理程序,添加如下代码:

CMenu menu;
menu.LoadMenuW(IDR_POPUP);
CMenu *pPopup = menu.GetSubMenu(0);

ClientToScreen(&point);//转换客户区坐标到屏幕坐标

pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x,point.y, this);

 之后编译运行就可以看到右键菜单了。

 

如果要增加子菜单的处理程序,可以在某个子菜单上右键点击,选择创建事件处理程序。也可以自己手工创建。

如你想在MainFrame中处理子菜单,那么需要在MainFrame的头文件中,声明事件处理函数:

afx_msg void OnTest();

 然后在MainFrame源文件的消息映射中添加:

ON_COMMAND(ID_TEST, &CMainFrame::OnTest)

 最后,在MainFrame的源文件中,定义事件处理函数OnTest,如:

void CMainFrame::OnTest()
{
	MessageBox(_T("MainFrame Clicked"));
}
 

你可能感兴趣的:(VC++,MFC)