GetDCEx

機能
デバイスコンテキストのハンドルを取得する
Declare Function GetDCEx Lib "user32.dll" _
(ByVal hWnd As Long, ByVal hrgnclip As Long,ByVal fdwOption As Long) As Long
Declare Function GetDCEx Lib "user32.dll" _
(ByVal hWnd As Integer, ByVal hrgnclip As Integer,ByVal fdwOption As Integer) As Integer

HDC GetDCEx(
HWND hWnd,
HRGN hrgnClip,
DWORD flags
);
引数
hWnd

ウィンドウのハンドル
(デスクトップを指定するときは0)
hrgnclip
クリッピング領域のハンドル
fdwOption
デバイスコンテキストを作成するための方法を指定する定数の組み合わせ
戻り値
成功したとき            デバイスコンテキストのハンドル
失敗したとき            0
備考
不要になった時点でReleaseDC()関数を使って解放する
fdwOptionの定数

DCX_WINDOW = &H1                        ウィンドウ全体のデバイスコンテキストのハンドルを取得する
DCX_CACHE = &H2                         クラススタイルに関係なくWindowsからキャッシュしてくる
DCX_PARENTCLIP = &H20                   親ウィンドウの可視領域を使用する
DCX_CLIPSIBLINGS = &H10                 hWndで指定したウィンドウより上にあり
                                         同じ親ウィンドウを持つすべてのウィンドウの
                                         可視領域を除く
DCX_CLIPCHILDREN = &H8                  hWndで指定したウィンドウより下にあるすべての
                                         子ウィンドウの可視領域を除く
DCX_NORESETATTRS = &H4                  デバイスコンテキストが解放されたとき
                                         デフォルトの属性に戻さない
DCX_LOCKWINDOWUPDATE = &H400            LockWindowUpdate()関数でロックされているウィンドウを更新する
DCX_EXCLUDERGN = &H40                   hrgnClipで指定した領域を除く
DCX_INTERSECTRGN = &H80                 hrgnClipで指定した領域はデバイスコンテキストでさえぎられる
DCX_VALIDATE = &H200000                 DCX_INTERSECTUPDATE(=&H200)と同時に設定したとき
                                         DCは確実に有効になる