MFC删除默认创建的标题栏,菜单栏, 工具栏, 状态栏,边框

删除菜单栏

  • 隐藏

      m_wndMenuBar.ShowWindow(SW_HIDE);
    
  • 注释创建菜单代码

      //if (!m_wndMenuBar.Create(this))
      //{
      //	TRACE0("未能创建菜单栏\n");
      //	return -1;      // 未能创建
      //}
    
      //m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);
    

删除工具栏

  1. 注释创建代码

     //if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
     //	!m_wndToolBar.LoadToolBar(theApp.m_bHiColorIcons ? IDR_MAINFRAME_256 : IDR_MAINFRAME))
     //{
    
     //	TRACE0("未能创建工具栏\n");
     //	return -1;      // 未能创建
     //}
    
     //CString strToolBarName;
     //bNameValid = strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
     //ASSERT(bNameValid);
     //m_wndToolBar.SetWindowText(strToolBarName);
    
     //CString strCustomize;
     //bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
     //ASSERT(bNameValid);
     //m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);
      允许用户定义的工具栏操作:
     //InitUserToolbars(NULL, uiFirstUserToolBarId, uiLastUserToolBarId);
    
  2. 以及这段代码

      //启用工具栏和停靠窗口菜单替换
     //EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR);
    

删除状态栏

  • 隐藏

      m_wndStatusBar.ShowWindow(SW_HIDE);
    
  • 注释创建代码

      //if (!m_wndStatusBar.Create(this))
      //{
      //	TRACE0("未能创建状态栏\n");
      //	return -1;      // 未能创建
      //}
      //m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
      // TODO: 如果您不希望工具栏和菜单栏可停靠,请删除这五行
      //m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
      //m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
      //EnableDocking(CBRS_ALIGN_ANY);
      //DockPane(&m_wndMenuBar);
      //DockPane(&m_wndToolBar);
    

删除标题栏

视图/文档程序在MainFrm.cpp 的 *OnCreate()*中添加

  • SetWindowLong()

      SetWindowLong(m_hWnd, GWL_STYLE, WS_OVERLAPPED);
      //SetWindowLong(m_hWnd, GWL_STYLE, 0);	//这也行
    

BCG框架创建的应用程序用着个方法不行

  • ModifyStyle()

    ModifyStyle(WS_CAPTION, 0, SWP_FRAMECHANGED); //这个删除标题栏后还会有残留

删除边框

  • 视图/文档程序在MainFrm.cpp 的 *OnCreate()*中添加

      SetWindowLong(m_hWnd, GWL_EXSTYLE, WS_EX_LTRREADING);
      SetWindowLong(m_hWnd, GWL_EXSTYLE, 0);	//这也行
    

BCG亦不行

参考链接

MFC中创建单文档如何去掉自带的菜单栏和工具栏
mfc的任务栏的隐藏和显示
单文档中将系统工具栏更换成自己定义的工具栏
mfc窗口去掉标题栏及边框
单文档程序使用了BCG 的office07风格后不能去掉标题栏

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页