读书人

关于cmenu popup的有关问题

发布时间: 2012-01-29 21:39:32 作者: rapoo

关于cmenu popup的问题
小弟想问的问题是:我用的是已经存在的menu资源,比如,有这样的菜单结构.
文件-> 新建
打开
另存为^
发送-> 电子邮件页面
电子邮件连接
^^^^^^
我想做的就是把 "发送 "这个字符修改成自己想要的,前提就是用程序动态修改,不能做成资源的.我用了ModifyMenu,但是它只能修改那些有id号的.请大家给点建议或方法,先谢谢了,要是分不够可以再加



[解决办法]
几个函数
GetSubMenu
GetMenuItemInfo
SetMenuItemInfo
后面两个函数里有LPMENUITEMINFO类型的参数

这些应该对你有帮助吧。
[解决办法]
void CAsdasdDlg::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default

ClientToScreen(&point);
CMenu mainmenu;
mainmenu.LoadMenu(IDR_MENU1);
CMenu *pSubMenu = mainmenu.GetSubMenu(0);
pSubMenu-> ModifyMenu(3, MF_BYPOSITION, 0, _T( "abc ")); // 用MF_BYPOSITION
pSubMenu-> TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);

CDialog::OnRButtonDown(nFlags, point);
}

读书人网 >VC/MFC

热点推荐