MFC实现全屏功能

之前全屏都是参考:
MFC单文档(SDI)全屏程序的实现

主要思路就是将各种菜单工具栏隐藏恢复。

随着MFC的升级,MFC框架本身就具备了全屏的功能。

微软有一个全屏实现类:
CFullScreenImpl Class

managing full-screen mode: IsFullScreen, ShowFullScreen, EnableFullScreenMainMenu, and EnableFullScreenMode.

根据MFC的描述,不需要继承CFullScreenImpl 类,它已经集成到了框架类中,用以下方法即可进行管理。

首先在框架的oncreate方法中调用EnableFullScreenMode(2000);

其中2000是一个ID,会在全屏时自动多出一个按钮,按钮ID就是这个2000,实现这个COMMANDID,即可对应关闭全屏,当然用escape键也可以关闭全屏

这个ID可以随便取一个,不要冲突接口

然后在菜单或按钮中调用方法ShowFullScreen();即可实现全屏

默认是显示菜单的,可以用在oncreate调用EnableFullScreenMainMenu(FALSE);的方法,即可不显示菜单

大概就是这样的效果:

全屏前:

全屏后:

相关推荐
一木 之林6 小时前
第 3 节 在 AI 行业中,C/C++ 编程中的动态库和静态库
c语言·c++·后端
库玛西6 小时前
深度解构高并发利器:纯事件驱动 Reactor 模式的设计哲学与工程实践
服务器·开发语言·c++·笔记·tcp/ip
linx2956 小时前
单元五 · 对称认知·下:编译与链接
linux·c语言·开发语言·c++·嵌入式硬件
C++ 老炮儿的技术栈6 小时前
西门子 S7 常用存储区(I/Q/M/T/C/DB/PI/PQ)
linux·开发语言·c++·windows·qt·io
linx2957 小时前
单元七 · 零基础路线图-第 1–3 周·变量、类型与字符串
c语言·开发语言·数据结构·c++·算法
Benny_Tang7 小时前
P7514 [省选联考 2021 A/B 卷] 卡牌游戏 题解
c++·算法
程序猿编码8 小时前
LLM 技术迁移音频领域:基于 GGML 搭建 Roformer,端侧音乐人声分离实现详解
c++·llm·音视频·transformer·模型推理·ggml
wuminyu8 小时前
Kafka的写入延迟与磁盘IO抖动原理分析
java·linux·c语言·jvm·c++
buhuizhiyuci8 小时前
线程的互斥
linux·运维·服务器·c++
Benny_Tang8 小时前
「雅礼集训 2018 Day7」A 题解
数据结构·c++·算法