当前课程知识点:VC++面向对象与可视化程序设计(上):Windows编程基础 >  第2章 Windows的图形设备接口及Windows绘图 >  02-1 Windows图形设备接口 >  02-1-3 获得设备环境方法

返回《VC++面向对象与可视化程序设计(上):Windows编程基础》慕课在线视频课程列表

02-1-3 获得设备环境方法在线视频

02-1-3 获得设备环境方法

下一节:02-1-4 映像模式

返回《VC++面向对象与可视化程序设计(上):Windows编程基础》慕课在线视频列表

02-1-3 获得设备环境方法课程教案、知识点、字幕

下面我们来了解一下如何获得设备环境

获取设备环境是应用程序输出图形的先决条件

常用的两种方法,一个是调用BeginPaint的函数

还有一个是调用GetDC这个函数

我们先来了解一下调用BeginPaint函数

应用程序响应PAINT消息时,主要是通过调用BeginPaint函数获取设备环境

也就是说在你可见到的界面里面

或者说的更直白一点,在你看到的屏幕上会有很多窗口

那么每一个窗口都有一个唯一的句柄来标识它

所以在BeginPaint里面,第一个参数实际上就是说你哪一个窗口发送的刷新请求

就把发送刷新请求的那个窗口的句柄,或者说指向这个窗口的句柄,作为它的参数

那么刷新过程中,是要获取无效区域的

所以这里,第二个参数就是PAINTSTRUCT它的这个结构的一个变量

它代表了无效区域

所以返回值就是这个hDC设备环境

当系统获取设备环境时,它系统会自动的去填写这个ps结构,来标识无效矩形区

然后我们对无效矩形区进行刷新

由BeginPaint函数获取的设备环境,要调用EndPaint函数来释放掉

这个EndPaint也是两个参数,跟BeginPaint的参数是一样的,这里就不多说了

刚才说的是绘图工具,是用PAINT消息驱动,那么我们用BeginPaint和EndPaint来处理

那么如果不是由PAINT消息来驱动,那么这个时候,我们就调用GetDC函数获取设备环境句柄

那么同样,它获取了设备环境句柄后,由于它不是由WM_PAINT消息驱动

所以它的参数里面只有窗口的句柄而并没有填写ps结构

由GetDC函数获取的设备环境它完成工作之后要用ReleaseDC函数来释放

所以这里列了一张表

给大家介绍BeginPaint和GetDC它两个都是获取设备环境

在使用环境上来说,BeginPaint函数只用于图形刷新时获取设备环境

而GetDC就比较广泛了

在操作区域上,使用BeginPaint的函数获取设备环境后,操作区域为无效区域

而用GetDC函数获取设备环境后,它操作的区域是整个用户区

所以大家注意到GetDC函数,它的参数只有窗口句柄

因为它不存在无效矩形区的问题,它操作的区域是整个用户区

所以从另外一个角度来说,那整个用户区都被刷新,不论有没有覆盖,我们都认为是无效区域

所用的函数上,一个用的是EndPaint,一个用的是ReleaseDC。

这两个函数的使用,在后面的操作过程中会经常用到

希望大家能够很好的了解一下它们的区别

VC++面向对象与可视化程序设计(上):Windows编程基础课程列表:

第0章 课前讨论

-讨论实录

--0-0

第1章 Windows应用程序基础

-1-1 Windows应用程序的特点

--1-1

-1-2 可视化编程

--1-2

-1-3 关于API

--1-3-1

--1-3-2

-1-4 Windows应用程序组成及编程步骤

--1-4-1

--1-4-2

-1-5 应用程序举例

--1-5-1

--1-5-2

--1-5-3

第2章 Windows的图形设备接口及Windows绘图

-02-1 Windows图形设备接口

--02-1-1 GDI

--02-1-2 图形刷新

--02-1-3 获得设备环境方法

--02-1-4 映像模式

-02-2 绘图工具与颜色

--02-2-1 画笔

--02-2-2 画刷和颜色

-02-3 常用绘图函数

--02-3 常用绘图函数

-02-4 例题和作业

--02-4-1 例题1

--02-4-2 例题2

--02-4-3 例题3

--02-4-4 例题4

--02-4-5 作业

-第2章源代码

--外部链接

--外部链接

第3章 文本与字体

-3-1 设置文本的设备环境

--3-1 设置文本的设备环境

-3-2 文本的输出过程

--3-2 文本的输出过程

-3-3 例题和作业

--3-3-1 (例3-1)

--3-3-2 (例3-2)

--3-3-3 (例3-3)

--3-3-4 (例3-4)

--3-3-5 (作业)

-第3章源代码

--外部链接

第4章 Windows应用程序中的键盘与鼠标

-4-1 Windows 应用程序中的键盘与鼠标

--4-1

-4-2 键盘的操作应用举例

--4-2

-4-3 例题

--4-3

-4-3 鼠标在应用程序中的应用

--4-3

-4-4 例题4-4

--4-4

-第4章源代码

--外部链接

第5章 资源在Windows编程中的应用

-5-1 菜单和加速键资源及其应用

--5-1

-5-1(例1)

--5-1(例1)

-5-2 位图资源及其应用

--5-2

-5-3 对话框资源及其应用

--5-3-1

--5-3-2

-5-4 图标资源的应用

--5-4

-第5章源代码

--外部链接

-第一次作业

--第一次作业--作业

-第二次作业

--第二次作业--作业

-第三次作业

--第三次作业--作业

02-1-3 获得设备环境方法笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。