GetDCEx

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