フォームに図形を描画する

※このページはウィンドウを最大化してご覧になることをおすすめします。


Private Sub Command1_Click()
' 点の描画
PSet (300, 100)

Me.DrawWidth = 2 ' 描画の太さ
PSet (300, 300)

Me.DrawWidth = 3
PSet (300, 500)

Me.DrawWidth = 5
PSet (300, 700)

Me.DrawWidth = 10
PSet (300, 900), vbBlue

Me.DrawWidth = 20
PSet (300, 1500), vbRed

Me.DrawWidth = 1 ' 描画の太さを元に戻す
End Sub

Private Sub Command2_Click()
' 直線の描画
Line (1000, 1000)-(5000, 1000), vbGreen
Line (1000, 1000)-(1000, 5000), vbGreen
Line (5000, 1000)-(1000, 5000), vbGreen
End Sub

Private Sub Command3_Click()
' 円の描画
Circle (2000, 2000), 1000, vbYellow
End Sub

Private Sub Command4_Click()
Line (1000, 1000)-(3000, 3000), , B ' 長方形(正方形)
Line (3000, 3000)-(5000, 5000), vbWhite, BF ' 塗りつぶし
End Sub

Private Sub Command5_Click()
Me.Cls '描画した図形を消去する
End Sub

フォームに直接、点や直線、長方形(正方形)や円といった図形を描画することができます。VBでは図形を描画する関数が用意されています。点を描画するにはPSet関数、直線や長方形(正方形)を描画するにはLine関数、円を描画するにはCircle関数を使います。

は点や直線、長方形(正方形)や円を描画するコードです。フォームにボタンを5つ(Command1〜Command5)を貼り付けて実行してみてください。サンプルプログラムも用意したのでそちらも参考にしてみて下さい。

(   )内の数字はX座標とY座標を指定します。直線や長方形(正方形)の(   )-(   )場合は始点の座標と終点の座標を指定します。DrawWidthプロパティで描画の太さを設定することができます。右のコードでは点のみしか太さを変更していませんが他の図形でも同じことができます。

(   )の後のvb…は定数で描画の色を指定します。数字でもRGB関数指定することができます。長方形(正方形)の後のBやBFは図形の描画方法を指定します。何も指定しなければ直線が描画されます。Bを指定した場合は長方形(正方形)が描画がされ、BFではそれがぬりつぶされます。

最後のClsでは描画した図形を全て消去します。ただし、フォームのAutoRedrawプロパティがTrueの時に描画された図形は消去することができません。

Circle関数では楕円も描画することができますが、ここではそこまで触れません。詳しくはMSDNライブラリなどをご覧下さい。

 

サンプルプログラムをダウンロードする(1.20KB)

 

 


戻る