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 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题