フォームに図形を描画する
※このページはウィンドウを最大化してご覧になることをおすすめします。
| 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ライブラリなどをご覧下さい。