この記事では、VB でのマウス描画の例を説明します。この例では、マウス ボタンを押すと描画が開始され、描画状態にない場合は最初の開始点が記録されます。描画状態では、開始点から現在のマウス点まで直線が描画され、現在のマウス点が新しい開始点として使用され、マウス ボタンを離すと描画が終了します。 。
具体的な機能コードは以下のとおりです。
バージョン 5.00Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"VB.Form Form1 の開始キャプション = "マウス描画" ClientHeight = 6420 ClientTop = 345 ClientWidth = 7710 LinkTopic = "Form1" ScaleHeight = 6420 ScaleWidth = 7710 StartUpPosition = 3 'ウィンドウのデフォルト Begin VB.CommandButton Command2 Caption = "Clear" Height = 495 Left = 5640 TabIndex = 7 Top = 1440 width = 1335 End Begin VB.Frame Frame1 Caption = 「線幅」高さ= 2655 左 = 5520 TabIndex = 2 上 = 2880 幅 = 1935 VB.OptionButton オプション 4 の開始キャプション = "8" 高さ = 495 左 = 240 TabIndex = 6 上 = 1800 幅 = 1215 VB.OptionButton オプション 3 の開始キャプション = "4" 高さ= 375 左 = 240 TabIndex = 5 上 = 1320 幅 = 1335 End Begin VB.OptionButton Option2 キャプション = "2" 高さ = 375 左 = 240 TabIndex = 4 上 = 840 幅 = 1095 End Begin VB.OptionButton Option1 キャプション = "1" 高さ = 255 左= 240 タブインデックス = 3 トップ = 480 値= -1 '真の幅 = 1335 End End Begin VB.CommandButton Command1 Caption = "色の設定" Height = 495 Left = 5640 TabIndex = 1 Top = 600 width = 1215 End Begin MSComDlg.CommonDialog CommonDialog1 Left = 4200 Top = 3840 _ExtentX = 847 _extenty = 847 _ version = 393216 end begin vb.picturebox picture1 height = 5535 left = 480 scaleheight = 5475 scalewidth = 4515 tabindex = 0 top = 480 width = 4575 endendattribute vb_name = " VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exused = FalseDim x1 As Integer '始点 X 座標 Dim y1 As Integer '始点 Y 座標 Dim x2 As Integer '終点 X 座標 Dim y2 As Integer '終点 Y 座標 Dim flag As Boolean 'Drawing flag' 設定 Line colorPrivate Sub Command1_Click() On Error Resume Next CommonDialog1.CancelError = True CommonDialog1.DialogTitle = "Color" CommonDialog1.ShowColor If Err <> 32755 then Picture1.ForeColor = CommonDialog1.Color End IfEnd Sub'Picture1 のグラフィックをクリア Private Sub Command2_Click() Picture1.ClsEnd Sub'ラインを設定width Private Sub Option1_Click() Picture1.DrawWidth = 1End SubPrivate Sub Option2_Click() Picture1.DrawWidth = 2End SubPrivate Sub Option3_Click() Picture1.DrawWidth = 4End SubPrivate Sub Option4_Click() Picture1.DrawWidth = 8End SubPrivate Sub Form_Load() Picture1.Scale (0, 0)-(400, 400) ) フラグ = FalseEnd SubPrivate Sub Picture1_MouseDown(Button As Integer, Shift As Integer, _X As Single, Y As Single)'マウス ボタンを押すと描画が開始され、初期開始点フラグ = True x1 = X y1 = YEnd SubPrivate Sub Picture1_MouseMove(Button整数として、シフトとして整数、_X として単一、Y としてシングル)「描画状態でない場合はプロセスを終了する」「描画状態である場合は、開始点から現在のマウスポイントまで直線を描画します。」その後、現在のマウスポイントを新しい開始点として使用する場合フラグ= False then Exit Sub End If flag = True then x2 = Integer、Shift As Integer、_X As Single、Y As Single)' マウス ボタンを離すと描画が終了します flag = FalseEnd Sub
プログラムには比較的詳細なコメントが記載されているので、読者が自分の好みに合わせてプログラムをより完璧なものにすることができるので、理解しやすいと思います。