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函数注解 |