VB聲明 |
||
Declare Function GetDCEx Lib "user32" Alias "GetDCEx" (ByVal hwnd As Long, ByVal hrgnclip As Long, ByVal fdwOptions As Long) As Long |
||
說明 |
||
為指定窗口獲取設(shè)備場(chǎng)景。相比GetDC,本函數(shù)提供了更多的選項(xiàng) |
||
返回值 |
||
Long,執(zhí)行成功為指定窗口設(shè)備場(chǎng)景句柄。出錯(cuò)則為0 |
||
參數(shù)表 |
||
參數(shù) |
類型及說明 |
|
hwnd |
Long,窗口句柄 |
|
hrgnclip |
Long,窗口剪裁區(qū) |
|
fdwOptions |
Long,標(biāo)志字。根據(jù)下列常數(shù)設(shè)置各位: |
|
DCX_CACHE |
不管窗口類的樣式,從windows緩存獲取設(shè)備場(chǎng)景 |
|
DCX_CLIPCHILREN |
所有可見的子窗口區(qū)都要從DC的剪裁區(qū)中排除 |
|
DCX_CLIPSIBLINGS |
窗口hWnd上的所有可見兄弟窗口都要從DC的剪裁區(qū)中排除 |
|
DCX_EXCLUDERGN |
從DC剪裁區(qū)中排除由hrgnclip指定的區(qū)域 |
|
DCX_EXCLUDEUPDATE |
從設(shè)備場(chǎng)景剪裁區(qū)中排除刷新區(qū)域 |
|
DCX_INTERSECTRGN |
由hrgnclip指定的區(qū)域與設(shè)備場(chǎng)景剪裁區(qū)相交 |
|
DCX_INTERSECTUPDATE |
指定區(qū)域與設(shè)備場(chǎng)景刷新區(qū)域相交 |
|
DCX_LOCKWINDOWUPDATE |
該標(biāo)志為允許向窗口繪圖,即使它由于LockWindowUpdate的調(diào)用被鎖住 |
|
DCX_NORESETATTRS |
設(shè)備場(chǎng)景釋放后不被重置為默認(rèn)狀態(tài) |
|
DCX_PARENTCLIP |
放棄CS_PARENTDC類樣式設(shè)置。DC的起點(diǎn)設(shè)為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樣式,則獲取的設(shè)備場(chǎng)景屬窗口或類專有。這時(shí),設(shè)備場(chǎng)景狀態(tài)不能從初值修改。vb的窗體和控件通常是這種情況。否則,置DCX_CACHE位以從通用windows緩沖區(qū)恢復(fù)設(shè)備場(chǎng)景。若不置該位,則函數(shù)返回0。DC的狀態(tài)位默認(rèn)設(shè)置。從緩存獲取的設(shè)備場(chǎng)景用過后要用ReleaseDC函數(shù)釋放以防止系統(tǒng)死鎖,因?yàn)閣indows只有5個(gè)緩存DC可用 其他情況參見GetDC函數(shù)注解 |