ClientHwndクラス FillRegionClientメソッド
オブジェクトウインドウ座標で、System.Drawing.Regionオブジェクトの内部を塗りつぶします。
使用法
Dim instance As ClientHwnd
Dim br As System.Drawing.Brush '塗りつぶしの特性を決定するSystem.Drawing.Brush
Dim rects As System.Drawing.Rectangle() '塗りつぶす四角形を表すRectangle構造体の配列
instance.FillRegionClient(br, rects)
使用例
'ClientHwndクラス FillRegionClientメソッド
Imports System.Drawing
Public Class AddIn
Public Sub AddIn_Start()
Dim chw As ClientHwnd = New ClientHwnd
Dim rgn As Region
Dim rect1 As Rectangle
Dim rect2 As Rectangle
'Regionで使用する2つの領域
rect1 = New Rectangle(0, 0, 40, 40)
rect2 = New Rectangle(20, 20, 40, 40)
chw.FillRectangleClient(Brushes.Blue, rect1) 'rect1を青で塗る
chw.FillRectangleClient(Brushes.Red, rect2) 'rect2を赤で塗る
rgn = New Region(rect1) 'rect1でRegionを作成
rgn.Union(rect2) 'Union(和集合)によりrect2を追加
chw.FillRegionClient(Brushes.Black, rgn) '出来上がったRegionを黒で描画
'rect1とrect2の位置を変更
rect1.Y = rect2.Bottom + 10
rect2.Y = rect1.Y + 20
chw.FillRectangleClient(Brushes.Blue, rect1) 'rect1を青で塗る
chw.FillRectangleClient(Brushes.Red, rect2) 'rect2を赤で塗る
rgn = New Region(rect1) 'rect1でRegionを作成
rgn.Intersect(rect2) 'Intersect(交差部分)によりrect2を追加
chw.FillRegionClient(Brushes.Black, rgn) '出来上がったRegionを黒で描画
'rect1とrect2の位置を変更
rect1.Y = rect2.Bottom + 10
rect2.Y = rect1.Y + 20
chw.FillRectangleClient(Brushes.Blue, rect1) 'rect1を青で塗る
chw.FillRectangleClient(Brushes.Red, rect2) 'rect2を赤で塗る
rgn = New Region(rect1) 'rect1でRegionを作成
rgn.Exclude(rect2) 'Exclude(交差しない内部の部分)によりrect2を追加
chw.FillRegionClient(Brushes.Black, rgn) '出来上がったRegionを黒で描画
'rect1とrect2の位置を変更
rect1.Y = rect2.Bottom + 10
rect2.Y = rect1.Y + 20
chw.FillRectangleClient(Brushes.Blue, rect1) 'rect1を青で塗る
chw.FillRectangleClient(Brushes.Red, rect2) 'rect2を赤で塗る
rgn = New Region(rect1) 'rect1でRegionを作成
rgn.Xor(rect2) 'Xor(交差部分を差し引いた和集合)によりrect2を追加
chw.FillRegionClient(Brushes.Black, rgn) '出来上がったRegionを黒で描画
End Sub
End Class