窗口显示设备上下文

窗口设备上下文 使应用程序能够绘制窗口中的任意位置,包括非工作区。 窗口设备上下文通常由处理具有自定义非工作区的窗口的 WM_NCPAINTWM_NCACTIVATE 消息的应用程序使用。 不建议出于任何其他目的使用窗口设备上下文。

应用程序可以使用 GetWindowDC 或具有指定DCX_WINDOW选项的 GetDCEx 函数来检索窗口设备上下文。 该函数从显示设备上下文缓存中检索窗口设备上下文。 使用窗口设备上下文的窗口必须尽快使用 ReleaseDC 函数在绘图后释放它。 窗口设备上下文始终来自缓存;CS_OWNDC和CS_CLASSDC类样式不会影响设备上下文。

当应用程序检索窗口设备上下文时,系统将设备源设置为窗口左上角,而不是工作区的左上角。 它还将剪辑区域设置为包含整个窗口,而不仅仅是工作区。 系统将窗口设备上下文的当前属性值设置为与通用设备上下文相同的默认值。 应用程序可以更改属性值,但当设备上下文发布时,系统不会保留任何更改。