HRGN PathToRegion(HDC hDC);
Declare Function PathToRegion Lib "gdi32" (ByVal hDC As Long) As Long
関数の実行後、パスは破棄される。
引数の意味は以下の通り。
hDC | デバイスコンテキストのハンドル。 |
戻り値は、変換結果のリージョンのハンドルである。関数の実行に失敗した場合、0が返される。
Private Sub Command1_Click() Const PI As Single = 3.14159 Dim I As Long Dim DX As Long Dim DY As Long Dim X As Long Dim Y As Long Dim hRgn As Long '互いに重なり合う三つの円からなるパスを作成 BeginPath Picture1.hDC For I = 0 To 2 Ellipse Picture1.hDC, _ 20 * Cos(PI * 2 / 3 * I) - 25, 20 * Sin(PI * 2 / 3 * I) - 25, _ 20 * Cos(PI * 2 / 3 * I) + 25, 20 * Sin(PI * 2 / 3 * I) + 25 Next EndPath Picture1.hDC 'パスをリージョンに変換 hRgn = PathToRegion(Picture1.hDC) OffsetRgn hRgn, 50, 50 '作成したリージョンを五つ描画する For I = 1 To 5 DX = Rnd * 100 - X DY = Rnd * 100 - Y X = X + DX Y = Y + DY OffsetRgn hRgn, DX, DY InvertRgn Picture1.hDC, hRgn Next End Sub