有CMenu::GetMenuString, 怎么没有CMenu::SetMenuString, 请问如何改变菜单文字
如题
是不是用SetMenuItemInfo,但这函数不太会用,请熟悉的朋友介绍一下
问题点数:20、回复次数:4Top
1 楼alaisalaix(天上人间)回复于 2005-05-31 02:02:07 得分 5
MFC的CMenu类绑定一个菜单资源,并不对应一个菜单项
蔡单项是一个命令对象,可在在其ON_UPDATE_COMMAND_UI消息处理函数中修改,如
void CMainFrame::OnUpdateTest(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetText(m_bTest?"test1":"test");
}
m_bTest是个bool变量
Top
2 楼viewpl(下了军令状,明年泡不到mm就提着向下小JJ回家叩见祖宗)回复于 2005-05-31 02:18:46 得分 0
我的程序是个对话框,没有自带的MENU,我加了一个,但是似乎不响应ON_UPDATE_COMMAND_UI
所以我才想能不能直接操作得了,但还不容易,没研究出来怎么弄
如果实在不能直接操作,是不是用PreTranslateMessage捕捉ON_UPDATE_COMMAND_UI消息??
Top
3 楼jiangsheng(蒋晟.Net[MVP])回复于 2005-05-31 04:16:37 得分 10
http://blog.csdn.net/jiangsheng/archive/2001/08/06/3781.aspxTop
4 楼qrlvls( 空 气 )回复于 2005-05-31 13:00:54 得分 5
CMenu::ModifyMenu See Also
CMenu Overview | Class Members | Hierarchy Chart | CMenu::AppendMenu | CMenu::InsertMenu | CMenu::CheckMenuItem | CWnd::DrawMenuBar | CMenu::EnableMenuItem | CMenu::SetMenuItemBitmaps | CMenu::Detach | ModifyMenu
Changes an existing menu item at the position specified by nPosition.
BOOL ModifyMenu(
UINT nPosition,
UINT nFlags,
UINT_PTR nIDNewItem = 0,
LPCTSTR lpszNewItem = NULL
);
BOOL ModifyMenu(
UINT nPosition,
UINT nFlags,
UINT_PTR nIDNewItem,
const CBitmap* pBmp
);
Top




