实用,备忘:
Void CTestDlg::OnRButtonDown(UINT nFlags,CPoint point)
{
CMenu menu;
CMenu *pMenu;
menu.LoadMenu(IDR_MENU1);
p = menu.GetSubMenu(0);
ClientToScreen(&point);
pMenu->TrackPopupMenu(TRM_BOTTOMALIGN,point.x,point.y,this,NULL);
CDialog::OnRButtonDown(nFlags,point);
}
其中this表示菜单拥有者为对话框。在另一种情况下,它可以是view类,也可以是框架类。到底谁响应已经响应顺序遵循菜单命令消息路由规则。
路由顺序是视类-》文档类-》框架类-》应用程序类。
本文介绍了在Windows应用程序中实现右键菜单的一种方法,并探讨了菜单命令消息的路由规则。通过具体的代码示例,展示了如何加载菜单资源并在指定位置显示弹出菜单。此外,还讨论了不同类型的菜单拥有者(如对话框、视图类或框架类)以及它们之间的响应顺序。
2989

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



