在vc6.0菜单制作?

来源:百度知道 编辑:UC知道 时间:2024/06/24 04:57:38
如何制作单选菜单和多选菜单啊?就像windows有些下拉菜单有的可以带钩(多选)有的可以带一点(单选)这中下拉菜单如何实现啊?
我想用win32 Application向导即SDK来做,不是用mfc,能提供一些直接用API实现方法吗?

加载LoadMenu,SetMenu设置宿主。

打勾是通过Update时候SetCheck实现。

http://www.cppblog.com/andxie99/archive/2006/05/31/7977.aspx

基于文档视图模式的菜单比较容易实现
响应菜单的UPDATE_COMMAND_UI消息
void CMapEditorView::OnUpdateMenuitemaddpoint(CCmdUI* pCmdUI)
{
pCmdUI->SetCheck(TRUE); //加勾
pCmdUI->Enable(FALSE);//变灰
}

其它地方的菜单就要自己去处理菜单项了。

比如下面是响应右键菜单

CMenu myMenu;
CMenu *pPopup;

//加载菜单
myMenu.LoadMenu(IDR_MENUSHOWCOLOR);

pPopup=myMenu.GetSubMenu(0);
//修改菜单,加勾
pPopup->CheckMenuItem(ID_MENUITEMALWAYSONTOP, m_bAlwaysOnTop?MF_CHECKED:MF_UNCHECKED);

//显示菜单
pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);

问题补充:你们说的好像都是用mfc些的。我要的是vc++,不是类的那种,谢谢

楼主这句话让我郁闷了.