В этой статье описывается пример рисования с помощью мыши в VB. В этом примере реализовано, что цвет и ширина линии могут быть настроены при нажатии кнопки мыши, рисование начинается и записывается начальная начальная точка, если она не находится в состоянии рисования. , процесс будет завершен. В состоянии рисования от начальной точки до текущего пункта мыши рисуется прямая линия, а затем текущая точка мыши используется в качестве новой начальной точки. Рисование заканчивается, когда кнопка мыши отпускается. .
Конкретные коды функций следующие:
ВЕРСИЯ 5.00Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "comdlg32.ocx"Begin VB.Form Form1 Caption = "Рисунок мышью" ClientHeight = 6420 ClientLeft = 60 ClientTop = 345 ClientWidth = 7710 LinkTopic = «Form1» ScaleHeight = 6420 ScaleWidth = 7710 StartUpPosition = 3 'Окно по умолчанию Начало VB.CommandButton Command2 Caption = «Очистить» Высота = 495 Слева = 5640 TabIndex = 7 Верх = 1440 Ширина = 1335 Конец Начало VB.Frame Frame1 Caption = «Ширина линии» Высота = 2655 Слева = 5520 TabIndex = 2 Сверху = 2880 Ширина = 1935 Начало VB.OptionButton Option4 Caption = «8» Высота = 495 Слева = 240 TabIndex = 6 Сверху = 1800 Ширина = 1215 End Begin VB.OptionButton Option3 Caption = «4» Высота = 375 Осталось = 240 TabIndex = 5 Верх = 1320 Ширина = 1335 Конец начала VB.OptionButton Option2 Caption = «2» Высота = 375 Слева = 240 TabIndex = 4 Верх = 840 Ширина = 1095 Конец начала VB.OptionButton Option1 Caption = «1» Высота = 255 Слева = 240 TabIndex = 3 Верх = 480 Значение = -1 'True Width = 1335 End End Begin VB.CommandButton Command1 Caption = «Установить цвет» Высота = 495 Left = 5640 TabIndex = 1 Top = 600 Ширина = 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 = «Form1» Атрибут VB_GlobalNameSpace = Fal seAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Expose = FalseDim x1 As Integer 'Координата X начальной точки Dim y1 As Integer 'Координата Y начальной точки Dim x2 As Integer 'Координата конечной точки X Dim y2 As Integer 'Координата Y конечной точки Dim flag As Boolean 'Рисование установка флага Line colorPrivate Sub Command1_Click() При ошибке Возобновить Далее CommonDialog1.CancelError = True CommonDialog1.DialogTitle = "Цвет" CommonDialog1.ShowColor If Err <> 32755 Тогда Picture1.ForeColor = CommonDialog1.Color End IfEnd Sub'Очистить графику в Picture1 Private Sub Command2_Click() Picture1.ClsEnd Sub'Установить строку ширина 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 как Один)'Если вы не находитесь в состоянии рисования, выйдите из процесса'Если вы находитесь в состоянии рисования, нарисуйте прямую линию от начальной точки до текущей точки мыши'Затем используйте текущую точку мыши в качестве новой начальной точкиЕсли флаг = Ложь Тогда Выход Под Конец Если Если флаг = Истина Тогда x2 = Integer, Shift As Integer, _X As Single, Y As Single)' Рисование заканчивается, когда кнопка мыши отпускается, флаг = FalseEnd Sub
В программе есть относительно подробные комментарии. Я думаю, читателям будет легко ее понять. Читатели могут модифицировать программу по своему усмотрению, чтобы сделать ее более совершенной!