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

m_menuMainWnd = GetMenu();
    //隐藏菜单栏          
    SetMenu(NULL);

// 保存以前的位置信息          
    GetWindowRect(&m_FullScreenRect);

// 去除主窗口的标题          
    LONG style=::GetWindowLong(m_hWnd,GWL_STYLE);          
    style&=~WS_CAPTION;          
    ::SetWindowLong(m_hWnd,GWL_STYLE,style);

// 使客户区无边框
    ModifyStyleEx(WS_EX_CLIENTEDGE, 0, SWP_FRAMECHANGED);
    ModifyStyleEx(WS_EX_CLIENTEDGE, NULL);

//得到当前系统的分辨率          
    int screenx=GetSystemMetrics(SM_CXSCREEN);          
    int screeny=GetSystemMetrics(SM_CYSCREEN);          
    
    // 全屏显示         
    SetWindowPos(NULL,0,0,screenx,screeny,SWP_NOZORDER);    
    style=::GetWindowLong(this->m_hWnd,GWL_STYLE);

m_bFullScreen = TRUE;
}

//退出全屏
void CMainFrame::EndFullScreen()
{    
    //恢复窗口标题          
    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_FullScreenRect);

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

m_bFullScreen = FALSE;
}

最后要在C....View::PreCreateWindow()添加:cs.style &= ~WS_BORDER;

一切OK!!!

MFC 带Ribbonbar的窗口 实现全屏和取消全屏的更多相关文章

  1. H5 video全屏与取消全屏兼容

    H5 video全屏与取消全屏各浏览器兼容,  requestFullscreen()全屏方法,exitFullscreen()退出全屏方法.兼容各个浏览器与css3兼容一样加个前缀即可. // 全屏 ...

  2. 使用AngularJS实现简单:全选和取消全选功能

    这里用到AngularJS四大特性之二----双向数据绑定 注意:没写一行DOM代码!这就是ng的优点,bootstrap.css为了布局,JS代码也只是简单创建ng模块和ng控制器 效果: < ...

  3. checkbox 全選、取消全選、反選

    在寫一個全選.取消全選.反選的功能時. 未來元素[type='checkbox'],在使用了jquery-1.11.1.min.js版本的jquery時: 功能版本1: 存在的問題,當使用了attr時 ...

  4. jQuery --checkbox全选和取消全选简洁高效的解决办法

    最近在公司做了一个小项目,其中有一个全选和取消全选的这么一个模块,搞了半天找不到一种最佳的解决方案!后来通过各种努力找到了一种简洁高效的解决办法,这里想和大家分享一下.有问题的话,还望各路大神指导一二 ...

  5. bootstrap实现checkbox全选、取消全选

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!-- 最新版本的 ...

  6. JS对checkbox全选和取消全选

    需求:checkbox控制列表数据全选与取消全选择. 效果图: 1.html <body > <input type="button" name="in ...

  7. react实现全选、取消全选和个别选择

    react里面实现全选和取消全选,个别选择等操作,效果如下 代码: import React, {Component} from 'react' export default class Demo e ...

  8. DataGridView添加一行数据、全选、取消全选、清空数据、删除选中行

    .net 2005下的Windows Form Application,一个DataGridView控件和4个Button,界面设置如下:         代码如下,有注解,相信大家都看得明白:   ...

  9. js实现checkbox组 全选和取消全选

    做后台管理程序时,用到一个checkbox组的全选和取消全选的功能, 主要是逻辑上的坑,理清后大概是: 1.全选点击后,小弟1~4都要选上,点击取消,小弟们也要取消 2.只要有一个小弟取消时,全选要取 ...

随机推荐

  1. LeetCode解题报告—— Linked List Cycle II & Reverse Words in a String & Fraction to Recurring Decimal

    1. Linked List Cycle II Given a linked list, return the node where the cycle begins. If there is no ...

  2. react todolist

    import React, {Component} from 'react'; class AddItem extends React.Component { constructor(props) { ...

  3. 确实,k8s的时代,ingress负载用traefik比nginx方便啊

    参考文档: https://mritd.me/2016/12/06/try-traefik-on-kubernetes/#13ingress 由于微服务架构以及 Docker 技术和 kubernet ...

  4. #pragma once 与 #ifndef

    #pragma once:保证头文件只被编译一次.这种方式,是微软编译器独有的,也是后来才有的,所以知道的人并不是很多,用的人也不是很多,因为他不支持跨平台.如果你想写跨平台的代码,最好使用上一种.这 ...

  5. CentOS7下python工作环境管理

    一.pyenv管理不同的python版本1.下载安装git clone git://github.com/yyuu/pyenv.git ~/.pyenv  echo 'export PYENV_ROO ...

  6. lazarus安装

    https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/Lazarus%201.6.4/ 下载这三个文 ...

  7. Oracle实例,具体运用

    Oracle关键字的使用 使用insert 添加数据: INSERT  INTO  表名  VALUES  (加入对应的数); COMMIT; INSERT INTO p_emp VALUES('TO ...

  8. js判断上传图片宽高及文件大小

    <input id="file" type="file"> <input id="Button1" type=" ...

  9. 洛谷——P3905 道路重建

    P3905 道路重建 题目描述 从前,在一个王国中,在n个城市间有m条道路连接,而且任意两个城市之间至多有一条道路直接相连.在经过一次严重的战争之后,有d条道路被破坏了.国王想要修复国家的道路系统,现 ...

  10. Xamarin iOS项目找不到模拟器

    Xamarin iOS项目找不到模拟器 在Visual Studio中,突然找不到模拟器,并且项目提示试用期过期:Trial period has expired.出现这种情况,是由于苹果系统中Xam ...