标记菜单:就是菜单项前面打勾的就是标记菜单;
算法:
第一步:找到整个菜单栏,是包括文件、编辑、查看、菜单、帮助;
GetMenu();
第二步:找到其中一个子菜单,比如文件;
GetSunMenu();
第三步:找到其中一个子菜单项,比如新建;
CheckMenuItem(0,MF_BYPOSITION | MF_CHECKED);
★注意:子菜单是有索引号的;
★注意:子菜单项可以通过索引号和ID号去访问;
注意:CBitmap m_bitmap;要设置为CMainFrame类的成员变量;
注意:图形标记菜单里面的位图尺寸要比较小的;
程序如下:
m_bitmap.LoadBitmap(IDB_BITMAP1);
GetMenu()->GetSubMenu(0)->SetMenuItemBitmaps(0,MF_BYPOSITION,&m_bitmap,&m_bitmap);
这个程序位置仍旧在CMainFrame类里面的onCreate函数里面;
以下代码可以帮助我们获取菜单的大小,帮助我们设置位图的大小;
屏蔽菜单
功能:使子菜单项打开变灰失效;
注意:(必须要求的,否则屏蔽失败)
需要在CMainFrame::CMainFrame()中设置m_bAutoMenuEnable=FALSE;)
程序如下:
取消菜单栏
SetMenu(NULL);//取消菜单栏
加载菜单栏
注意:最后一句话,是为了处理menu这个局部变量可能带来的问题;
当然:你也可以将menu设置为CMainFrame类的成员变量;