在开发图像显示程序以及视频应用程序时,常常需要全屏显示特性,比如ACD See和豪杰解霸等应用都有全屏显示功能。本文将介绍如何在MFC框架程序中实现视图的全屏显示,也就是说将标题、菜单、工具栏、状态栏以及窗口的所有边框全部被隐藏,视图充满整个屏幕。并提供全屏显示与框架窗口之间的快捷切换操作。
大家知道,在MFC框架中并没有提供现成的类或者函数来实现全屏显示特性,至少我到目前为止是没有发现。但是要实现这个特性也并不难。其基本思路是调整主窗口的大小和位置,使视图的显示充满屏幕。它需要以屏幕左上角为原点,处理x,y方向上的负坐标。本文拟用“使用GDI+进行图像处理”一文中的例子代码作为基础,实现视图的全屏显示。我在原来代码中增加了一个可重用的C++类CFullScreenHandler,顾名思义,这个类的作用就是专门用来实现全屏显示特性的,它封装了所有的实现细节,只要你把它加到自己的工程代码中,不用怎么修改就能是程序具备全屏显示功能。这个类中有两个重要的方法调用:第一、Maximize进入全屏显示模式,注意了,这里的全屏显示模式并不是平常我们说的窗口最大化按钮哦。第二、Restore方法用来恢复原来的窗口框架。CFullScreenHandler还提供了一个InFullScreenMode方法,用它来检查程序是否处于全屏显示状态,这些方法都通过一个CFullScreenHandler全程对象实例来调用。下面是程序的主窗口处理命令,全屏显示特性由“查看”菜单中的“全屏显示(&U)”触发执行,关键代码如下:
_______________________________________
全部文章在以下链接: