GetDCEx函数检索指定窗口的显示设备(DC)上下文的句柄。显示设备上下文可用于随后的GDI功能,以绘制客户区。
此函数是GetDC功能的扩展,使应用程序能够更好地控制客户端区域中是否发生裁剪。
HDC GetDCEx(
HWND 【的hWnd】, | //窗口的句柄 |
HRGN 【hrgnClip】, | //剪辑区域的句柄 |
DWORD 【旗】 | //设备上下文创建标志 |
); |
参数
【的hWnd】
标识出现绘图的窗口。
【hrgnClip】
指定可与客户端窗口的可见区域组合的裁剪区域。
【旗】
指定如何创建设备上下文。此参数可以是以下值的组合:
值 | 含义 |
DCX_WINDOW | 返回与窗口矩形相对应的设备上下文,而不是客户端矩形。 |
DCX_CACHE | 从缓存返回设备上下文,而不是OWNDC或CLASSDC窗口。基本上覆盖CS_OWNDC和CS_CLASSDC。 |
DCX_PARENTCLIP | 使用父窗口的可见区域。父级的WS_CLIPCHILDREN和CS_PARENTDC样式位将被忽略。设备上下文来源设置为由【的hWnd】标识的窗口的左上角。 |
DCX_CLIPSIBLINGS | 排除由【的hWnd】标识的窗口上方的所有兄弟窗口的可见区域。 |
DCX_CLIPCHILDREN | 排除由【的hWnd】标识的窗口下方的所有子窗口的可见区域。 |
DCX_NORESETATTRS | 当此设备上下文被释放时,不会将此设备上下文的属性重置为默认属性。 |
DCX_LOCKWINDOWUPDATE | 允许绘制,即使有LockWindowUpdate调用有效,否则将排除此窗口。用于追踪时绘图。 |
DCX_EXCLUDERGN | 由【hrgnClip】标识的剪辑区域从返回的设备上下文的可见区域中排除。 |
DCX_INTERSECTRGN | 由【hrgnClip】标识的剪切区域与返回的设备上下文的可见区域相交。 |
DCX_VALIDATE | 当用DCX_INTERSECTUPDATE指定时,会使设备上下文被完全验证。将这个函数与DCX_INTERSECTUPDATE和DCX_VALIDATE一起使用与使用BeginPaint函数相同。 |
返回值
如果函数成功,则返回值是给定窗口的设备上下文的句柄。
如果函数失败,返回值为NULL。【的hWnd】参数的无效值将导致该函数失败。
备注
除非显示设备上下文属于窗口类,否则必须调用ReleaseDC函数以在绘制后释放设备上下文。由于在任何给定时间只有五个通用设备上下文可用,因此无法释放设备上下文可能会阻止其他应用程序访问设备上下文。
如果CS_CLASSDC,CS_OWNDC或CS_PARENTDC在类注册时被指定为WNDCLASS结构中的一种样式,则GetDC函数返回属于窗口类的设备上下文。
也可以看看