通过


设备上下文

注释

Microsoft基础类(MFC)库将继续受到支持。 但是,我们不再添加功能或更新文档。

设备上下文是一种 Windows 数据结构,其中包含有关设备(如显示器或打印机)绘图属性的信息。 所有绘图调用都通过设备上下文对象进行,该对象封装用于绘制线条、形状和文本的 Windows API。 设备上下文允许在 Windows 中进行独立于设备的绘图。 设备上下文可用于绘制到屏幕、打印机或元文件。

CPaintDC 对象封装 Windows 的常见成语,调用 BeginPaint 函数,然后在设备上下文中绘图,然后调用 EndPaint 函数。 CPaintDC 构造函数为你调用 BeginPaint,析构函数调用 EndPaint。 简化的过程是创建 CDC 对象、绘制并销毁 CDC 对象。 在框架中,即使是此过程的大部分作都是自动化的。 具体而言,OnDraw 函数(通过 CPaintDC)传递已准备就绪的 OnPrepareDC,只需将其绘制到其中即可。 框架会销毁它,在从 OnDraw 函数调用返回时基础设备上下文会释放到 Windows。

CClientDC 对象封装使用仅表示窗口工作区的设备上下文。 CClientDC构造函数调用函数GetDC,析构函数调用函数ReleaseDCCWindowDC 对象封装了表示整个窗口的设备上下文,包括其边框。

CMetaFileDC 对象将绘图封装到 Windows 图元文件中。 与传递给 CPaintDCOnDraw 相反,在这种情况下,必须自行调用 OnPrepareDC

鼠标绘图

框架程序中的大多数绘图(和大多数设备上下文工作)是在视图的 OnDraw 成员函数中完成的。 但是,你仍然可以将设备上下文对象用于其他目的。 例如,若要为视图中的鼠标移动提供跟踪反馈,需要直接绘制到视图中,而无需等待 OnDraw 调用。

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

你想进一步了解什么

另请参阅

窗口对象