円グラフを描く |
円グラフを描く (025) | |
Option Explicit 'SampleNo=025 WindowsXP VB6.0(SP5) 2002.04.27 Private Sub Command1_Click() Dim Data(10) As Integer Dim j As Integer Dim i As Integer Dim Total As Integer Dim RadianStr As Single Dim RadianEnd As Single Command1.Cancel = Not Command1.Cancel 'クリック毎にパターンを変更 For i = 10 To 100 Step 10 Data(j) = i 'データ作成 Total = Total + Data(j) j = j + 1 Next i With Picture1 .Cls .DrawWidth = 2 '線の太さを設定 RadianEnd = 0.000000001 '基線を設定 0では最初の色が塗れない For i = 0 To 9 RadianStr = RadianEnd '円弧の開始点をラジアン単位で求める RadianEnd = RadianStr + 6.28 * Data(i) / Total '円弧の終了点 If Command1.Cancel Then .FillStyle = vbFSSolid '塗り潰す場合 Else .FillStyle = vbHorizontalLine + (i Mod 5) 'パターンの場合 End If .FillColor = QBColor((9 + i) Mod 16) 'カラーの指定 '描画 (Picture1の幅と高さの中心を円の中心とし半径を高さの '4分の1とし円弧の開始点と終了点をラジアン単位で指定して描く Picture1.Circle (.ScaleWidth \ 2, .ScaleHeight \ 2), _ .ScaleHeight / 2.5, , -RadianStr, -RadianEnd Next End With End Sub Private Sub Form_Load() Form1.Move 0, 0, 4950, 6000 Picture1.Move 150, 150, 4500, 4500 End Sub 実際の使用に際しては、データの作成のところで実際のデータを読込、凡例等も必要になります。 図形の書き方の参考にでもして下さい。 |