<Return[G]><Top>

GetRandomRgn

Declare Function Api_GetRandomRgn& Lib "gdi32" Alias "GetRandomRgn" (ByVal hDC&, ByVal hrgn&, ByVal iNum&)

Declare Function GetRandomRgn Lib "gdi32" Alias "GetRandomRgn" (ByVal hdc As Long, ByVal hrgn As Long, ByVal iNum As Long) As Long

指定されたデバイスコンテキストのシステムクリッピングリージョンを、特定のリージョンにコピーする。

パラメータ
hdc
    デバイスコンテキストのハンドルを指定する。
hrgn
    コピー先リージョンのハンドルを指定する。このパラメータは、関数を呼び出す前は既存のリージョンを表す。関数から制御が戻ると、現在の

    システムリージョンのコピーを表す。前のリージョンは、上書きされる。
iNum
    SYSRGN を指定する。

戻り値
    関数が成功すると、1 が返る。関数が失敗すると、-1 が返る。取得したリージョンが NULL の場合は、0 が返る。

解説
    SYSRGN フラグを設定しているとき、ウィンドウが移動することによってシステムクリッピングリージョンが現在のリージョンと異なることがあ

    る。ただし、WM_PAINT メッセージの処理中に BeginPaint 関数/EndPaint 関数の中でシステムクリッピングリージョンを取得して使うと

    安全である。この場合、更新されたリージョンと現在表示されているウィンドウ領域が交差する部分がシステムリージョンになる。

    GetRandomRgn 関数から制御が戻ってから EndPaint 関数の処理が終わるまでの間にウィンドウを移動すると、新しい WM_PAINT メッ

    セージが生成される。SYSRGN フラグをほかの用途に使うと、アプリケーションでペイントエラーが発生する。