设备上下文

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

CPaintDC 对象封装 windows 常见惯例,调用 BeginPaint 功能,然后绘制到设备上下文,然后调用 EndPaint 功能。 CPaintDC 构造函数调用您的 BeginPaint ,因此,调用析构函数 EndPaint。 简化的过程与创建 CDC 对象,绘制,然后 CDC 销毁对象。 在框架中,即使这些进程中自动测试。 具体而言,您的 OnDraw 功能都已经准备好的 CPaintDC (通过 OnPrepareDC),因此,您引入它。 框架销毁它,并且基础设备上下文释放到窗口从调用回 OnDraw 功能。

CClientDC 对象封装与表示 windows 的仅工作区的设备上下文一起使用。 CClientDC 构造函数调用 GetDC 功能,因此,调用析构函数 ReleaseDC 功能。 CWindowDC 对象封装表示整个窗口的设备上下文,包括其帧。

CMetaFileDC 对象封装绘制到 windows 图元文件。 与 CPaintDC ) 传递给 OnDraw,您必须在调用 OnPrepareDC

鼠标绘制

在框架计划的大多数绘制 —因此大多数设备上下文的 —在视图中 OnDraw 成员函数来执行。 但是,您可以在其他目的仍使用设备上下文对象。 例如,为视图的鼠标移动提供跟踪反馈,则需要直接在视图中,而不必等待 OnDraw 调用。

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

azz5wt61.collapse_all(zh-cn,VS.110).gif您想进一步了解什么?

请参见

概念

window对象