GetDCEx

【勇芳软件工作室】汉化HomePreviousNext

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函数返回属于窗口类的设备上下文。

也可以看看

BeginPaint, GetDC, GetWindowDC, ReleaseDC, WNDCLASS