qingtian249 2015-09-22 03:06
浏览 2021

关于MFC ribbon界面全屏的问题

想实现ribbon界面全屏,代码:

 void CMainFrame::FullScreenModeOn()          
{  
    m_wndRibbonBar.ShowWindow(SW_HIDE);//隐藏工具栏     
    m_wndStatusBar.ShowWindow(SW_HIDE);//隐藏状态栏          

    //隐藏菜单栏          
    SetMenu(NULL);          

    // 保存以前的位置信息          
    GetWindowRect(&m_mainRect);          
    // 去除主窗口的标题          
    LONG style=::GetWindowLong(m_hWnd,GWL_STYLE);          
    style&=~WS_CAPTION;          
    ::SetWindowLong(m_hWnd,GWL_STYLE,style);           

    //得到当前系统的分辨率          
    int screenx=GetSystemMetrics(SM_CXSCREEN);          
    int screeny=GetSystemMetrics(SM_CYSCREEN);          

    // 全屏显示          
    SetWindowPos(NULL,-4,-4,screenx+8,screeny+8,SWP_NOZORDER);          
    style=::GetWindowLong(this->m_hWnd,GWL_STYLE);          

}

  调用此函数实现全屏后,由于还没实现退出全屏,我就强行关闭了软件
    后面修改代码在oncreate函数里调用退出全屏函数:
    void CMainFrame::FullScreenModeOff()          
{           
    //恢复窗口标题          
    LONG style=::GetWindowLong(m_hWnd,GWL_STYLE);          
    style|=WS_CAPTION;          
    ::SetWindowLong(m_hWnd,GWL_STYLE,style);           
    //如果需要,显示工具栏  
    m_wndRibbonBar.ShowWindow(SW_SHOW);           
    //如果需要,显示状态栏       
    m_wndStatusBar.ShowWindow(SW_SHOW);           
    //恢复窗口以前的大小          
    MoveWindow(&m_mainRect);          

    //恢复菜单栏          
    this->SetMenu(&m_menuMainWnd);         

}   
    退出全屏后也看不到ribbon界面了,只剩下一个标题栏,而且我将该项目删除之后重新新建一个

名字相同的mfc office的单文档程序,直接跑出来也是看不到ribbon界面,只有一个标题栏
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 #MATLAB仿真#车辆换道路径规划
    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘