GetDCEx

VB声明
Declare Function GetDCEx Lib "user32" Alias "GetDCEx" (ByVal hwnd As Long, ByVal hrgnclip As Long, ByVal fdwOptions As Long) As Long
说明
为指定窗口获取设备场景。相比GetDC，本函数提供了更多的选项
返回值
Long，执行成功为指定窗口设备场景句柄。出错则为0
参数表
参数 | 类型及说明
hwnd | Long，窗口句柄
hrgnclip | Long，窗口剪裁区
fdwOptions | Long，标志字。根据下列常数设置各位：
DCX_CACHE | 不管窗口类的样式，从windows缓存获取设备场景
DCX_CLIPCHILREN | 所有可见的子窗口区都要从DC的剪裁区中排除
DCX_CLIPSIBLINGS | 窗口hWnd上的所有可见兄弟窗口都要从DC的剪裁区中排除
DCX_EXCLUDERGN | 从DC剪裁区中排除由hrgnclip指定的区域
DCX_EXCLUDEUPDATE | 从设备场景剪裁区中排除刷新区域
DCX_INTERSECTRGN | 由hrgnclip指定的区域与设备场景剪裁区相交
DCX_INTERSECTUPDATE | 指定区域与设备场景刷新区域相交
DCX_LOCKWINDOWUPDATE | 该标志为允许向窗口绘图，即使它由于LockWindowUpdate的调用被锁住
DCX_NORESETATTRS | 设备场景释放后不被重置为默认状态
DCX_PARENTCLIP | 放弃CS_PARENTDC类样式设置。DC的起点设为hWnd窗口的左上角
DCX_WINDOW | A device context is returned for the entire window rectangle rather than just the client area of the window
DCX_VALIDATE | Combine with DCX_INTERSECTUPDATE, validates the clipping region
注解
若窗口所属类具有CS_OWNDC， CS_CLASSDC 或 CS_PARENTDC样式，则获取的设备场景属窗口或类专有。这时，设备场景状态不能从初值修改。vb的窗体和控件通常是这种情况。否则，置DCX_CACHE位以从通用windows缓冲区恢复设备场景。若不置该位，则函数返回0。DC的状态位默认设置。从缓存获取的设备场景用过后要用ReleaseDC函数释放以防止系统死锁，因为windows只有5个缓存DC可用 其他情况参见GetDC函数注解

Top