VC++全屏编程实现
需积分: 9 197 浏览量
更新于2024-11-03
收藏 3KB TXT 举报
"VC++全屏代码实现,包含一个CGribbleWnd类的定义,用于在Windows环境下实现全屏功能。代码中涉及到窗口创建、设备上下文管理、颜色设置、鼠标和键盘事件处理等关键点。"
在Windows编程中,全屏显示通常涉及对窗口的大小调整以及背景填充。这个资源提供的代码示例是一个基于VC++的全屏窗口实现,它使用了MFC(Microsoft Foundation Classes)库。MFC是微软为简化Windows API接口而设计的一套面向对象的类库。
代码中定义了一个名为CGribbleWnd的类,继承自CView类。CView是MFC中的一个基础类,用于处理视图的绘图和用户交互。CGribbleWnd包含了实现全屏所需的方法:
1. 构造函数和析构函数:CGribbleWnd::CGribbleWnd()和CGribbleWnd::~CGribbleWnd(),分别在对象创建和销毁时调用,但在这个例子中它们并未做任何实际操作。
2. OnDraw()方法:这是CView类的一个虚函数,用于绘制视图。在全屏模式下,通常不需要此函数,因为全屏窗口一般不显示标准的控件或窗口边框。
3. BEGIN_MESSAGE_MAP和END_MESSAGE_MAP宏:用于定义消息映射,使得类可以响应特定的消息,如WM_CREATE、WM_ERASEBKGND、WM_KEYDOWN、WM_LBUTTONDOWN和WM_PAINT等。
4. OnCreate()方法:响应WM_CREATE消息,即在窗口创建时被调用。这里设置了窗口的初始位置和大小为屏幕分辨率,隐藏光标,获取设备上下文(Device Context, DC),并设置了背景颜色。
- m_hCursor变量存储了默认的箭头光标,然后调用SetCursor来设置光标。
- ShowCursor(true)确保光标在屏幕上可见。
- m_pDC成员变量保存了设备上下文句柄,以便后续绘图操作。
- 使用GetDeviceCaps函数获取屏幕的水平和垂直分辨率,并据此调整窗口大小。
5. OnEraseBkgnd()方法:处理WM_ERASEBKGND消息,用于在窗口背景需要清除时进行绘制。在这里,定义了一个绿色背景,并用FillRect填充整个窗口区域。
6. ON_WM_KEYDOWN()、ON_WM_LBUTTONDOWN()和ON_WM_PAINT():这些消息映射表示CGribbleWnd类可以处理键盘按键和鼠标左键点击事件,以及窗口需要重绘时的处理。
这段代码示例提供了基本的全屏窗口实现,但为了完成一个完整的全屏应用,可能还需要处理其他消息,例如窗口大小变化、退出全屏模式、处理系统菜单等。同时,为了在不同分辨率的显示器上正确工作,通常需要动态获取当前屏幕的分辨率。此外,考虑到多线程和性能优化,可能还需要考虑后台渲染和双缓冲技术。
108 浏览量
180 浏览量
108 浏览量
2013-05-23 上传
点击了解资源详情
点击了解资源详情
105 浏览量
124 浏览量
128 浏览量
yzlylg
- 粉丝: 6
- 资源: 1
最新资源
- 不看后悔的人事管理系统论文
- jmeter测试流程
- 图书管理系统_概要规划说明书
- 图书管理系统_软件开发设计书
- iBATIS 入门指南
- 很不错的java面试宝典
- C#函数方法集(汇总c#.net常用函数和方法集)
- Servlet_JSP
- 硬件必读硬件必读\硬件必读\硬件必读\
- Apache+ActiveMQ教程.pdf下载
- plsql21天自学通
- A Novel Invisible Color ImageWatermarking Scheme using Image Adaptive Watermark Creation and Robust Insertion-Extraction
- BerkeleyDB
- MapInfo Professional操作指南(pdf)
- 软件需求变更管理七步法
- 计算机软件测试面试题