设备上下文

设备上下文是包含有关一个设备的绘图特性的 Windows 数据结构信息 (如显示或打印机。 所有绘制调用通过设备上下文对象调用,封装用于绘制直线、形状和文本 Windows API。 设备上下文允许窗口中设备无关的图形。 设备上下文可用于绘制到屏幕,打印机,或者为元文件。

CPaintDC 对象在设备上下文封装,调用 BeginPaint 函数,然后绘制,然后调用 EndPaint 函数的"公共思路。 CPaintDC 构造函数调用 BeginPaint,而且,析构函数调用 EndPaint。 简化的进程是 CDC 创建对象,然后绘制,销毁 CDC 对象。 在框架中,即使此进程中自动化。 具体而言,OnDraw 函数传递 CPaintDC 已经准备 (通过 OnPrepareDC),因此,对它。 框架销毁它,并且基础设备上下文释放到若返回的窗口可以从调用 OnDraw 函数。

CClientDC 对象封装与表示窗口的某些工作区的设备上下文配合使用。 CClientDC 构造函数调用 GetDC 函数和析构函数调用 ReleaseDC 函数。 CWindowDC 对象封装表示整个窗口的与设备上下文,包括其帧。

CMetaFileDC 对象封装了绘制到 Windows 元文件。 与 CPaintDC 相反传递到 OnDraw,您必须在调用 OnPrepareDC

鼠标绘制

框架中的大多数 (因此大多数设备上下文计划绘制工作 - 视图中的 OnDraw 成员函数。 但是,可以用于其他目的仍使用设备上下文对象。 例如,为视图的鼠标移动提供跟踪反馈,需要直接介绍视图,而无需等待调用 OnDraw。

在这种情况下,可以使用 CClientDC 设备上下文对象引入直接视图。

您想进一步了解什么?

请参见

概念

窗口对象