プログラム例
Dim shiten1 As Integer 'マウスダウン時のX座標を記憶しておくための変数
Dim shiten2 As Integer 'Y座標
'X軸とY軸を引く
Private Sub Command1_Click()
Form1.CurrentX = 0.1
Form1.CurrentY = -0.1
Print "0" '原点に0と書く
Form1.CurrentX = 10
Form1.CurrentY = 0
Print "10"
Form1.CurrentX = -10
Form1.CurrentY = -0.1
Print "-10"
Form1.CurrentX = -0.1
Form1.CurrentY = -9
Print "-10"
Form1.CurrentX = 0.1
Form1.CurrentY = 10
Print "10"
Line (0, 10)-(0, -10)
Line (-10, 0)-(10, 0)
End Sub
'以下の座標に赤で点を打つ
Private Sub Command2_Click()
PSet (-5, -5), vbRed
End Sub
'原点を中心に半径1〜5の円を各色で描く
Private Sub Command3_Click()
Circle (0, 0), 1, vbWhite
Circle (0, 0), 2, vbGreen
Circle (0, 0), 3, vbBlue
Circle (0, 0), 4, vbRed
Circle (0, 0), 5, vbYellow
End Sub
'y=2x+4のグラフ
Private Sub Command4_Click()
Print "y = 2x+4"
Line (-7, -10)-(3, 10), vbGreen
End Sub
'x^2-4のグラフ
Private Sub Command5_Click()
Print "二次関数 y = x^2-4"
Dim i As Single
For i = -10 To 10 Step 0.1
PSet (i, i * i - 4), vbBlue
Next i
End Sub
'以下の四角形を書く
Private Sub Command6_Click()
Line (-5, -5)-(-10, -10), vbWhite, B
Line (-6, -6)-(-10, -10), vbWhite, B
Line (-7, -7)-(-10, -10), vbWhite, B
Line (-8, -8)-(-10, -10), vbWhite, B
Line (-9, -9)-(-10, -10), vbWhite, B
End Sub
'ランダムの位置にランダムな色を表示 半径0.1の円
Private Sub Command7_Click()
Dim i As Integer
Randomize '乱数のジェネレータを初期化
For i = 0 To 100 '100個、円を表示
X = Rnd * 40 - 20 'これでマイナス座標もOK
Y = Rnd * 40 - 20
Circle (X, Y), 0.1, QBColor(Rnd * 15)
Next i
End Sub
'フォームをクリア
Private Sub Command8_Click()
Form1.Cls
End Sub
'お遊び(終了ボタンにしてください)
Private Sub Command9_Click()
MsgBox ("重大なエラーが起きました!今から全てのデータを削除します。")
End Sub
'フォームロード時の処理
Private Sub Form_Load()
Scale (-10, 10)-(10, -10) 'カスタムスケール
'フォームがスクリーンの中央に表示されるようにする
Form1.Left = (Screen.Width - Form1.Width) / 2
Form1.Top = (Screen.Height - Form1.Height) / 2
End Sub
'MouseDownイベント
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
PSet (X, Y)
Form1.CurrentX = X
Form1.CurrentY = Y
shiten1 = X
shiten2 = Y
Print "←ここ"
End Sub
'MouseUpイベント
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.DrawStyle = 2
Form1.DrawWidth = 1
Line (shiten1, shiten2)-(X, Y), vbRed
End Sub