那个傻瓜国语版:实现隐藏菜单的方法 - 中国电子网 EC66.com - 电子工程师的加油站!

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 15:38:49

实现隐藏菜单的方法


类别:技术文章
来源:未知
作者:未知
关键字:隐藏菜单
加入日期:2010-11-2

单文档实现隐藏菜单只须在可以了
IDR_MAINFRAME

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.hMenu = NULL;
}
----------------------------------
VC++(隐藏菜单)

BOOL b_m;
CWnd *pWnd=AfxGetMainWnd();
if(b_m) //隐藏菜单
{
pWnd->SetMenu(NULL);
pWnd->DrawMenuBar();
b_m=false;
}
else
{
CMenu menu;
menu.LoadMenu(IDR_MAINFRAME); ////显示菜单 也可改变菜单项
pWnd->SetMenu(&menu);
pWnd->DrawMenuBar();
b_m=true;
menu.Detach();
}
----------------------------------
void CMainFrame::ShowCaptionMenu(BOOL bShow)
{
static HMENU hMenu=NULL;
if (hMenu == NULL){
hMenu=::GetMenu(this-> GetSafeHwnd());
}
if(bShow){
::SetMenu(this-> GetSafeHwnd(),hMenu);
this-> ModifyStyle(0,WS_CAPTION,SWP_FRAMECHANGED);
}else{
::SetMenu(this-> GetSafeHwnd(),NULL);
this-> ModifyStyle(WS_CAPTION,0,SWP_FRAMECHANGED);
}
}

调用:
this-> ShowCaptionMenu(FALSE);