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