服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - VB - VB实现鼠标绘图实例代码

VB实现鼠标绘图实例代码

2021-10-11 15:37VB教程网 VB

这篇文章主要介绍了VB实现鼠标绘图实例代码,很实用的一个功能,需要的朋友可以参考下

本文所述为VB实现鼠标绘图的实例,该实例实现线条颜色和线宽可自设,当按下鼠标按键时绘图开始并记录最初的起点,如果不是处在绘图状态则退出该过程,如果处在绘图状态则从起点到目前鼠标所在点绘制直线,然后将当前鼠标所在点作为新的起点,当释放鼠标按键时绘图结束。

具体的功能代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
VERSION 5.00
Object = "{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 '窗口缺省
  Begin VB.CommandButton Command2
   Caption     =  "清除"
   Height     =  495
   Left      =  5640
   TabIndex    =  7
   Top       =  1440
   Width      =  1335
  End
  Begin VB.Frame Frame1
   Caption     =  "线宽"
   Height     =  2655
   Left      =  5520
   TabIndex    =  2
   Top       =  2880
   Width      =  1935
   Begin VB.OptionButton Option4
     Caption     =  "8"
     Height     =  495
     Left      =  240
     TabIndex    =  6
     Top       =  1800
     Width      =  1215
   End
   Begin VB.OptionButton Option3
     Caption     =  "4"
     Height     =  375
     Left      =  240
     TabIndex    =  5
     Top       =  1320
     Width      =  1335
   End
   Begin VB.OptionButton Option2
     Caption     =  "2"
     Height     =  375
     Left      =  240
     TabIndex    =  4
     Top       =  840
     Width      =  1095
   End
   Begin VB.OptionButton Option1
     Caption     =  "1"
     Height     =  255
     Left      =  240
     TabIndex    =  3
     Top       =  480
     Value      =  -1 'True
     Width      =  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
  End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim x1 As Integer  '起点X坐标
Dim y1 As Integer  '起点Y坐标
Dim x2 As Integer  '终点点X坐标
Dim y2 As Integer  '终点Y坐标
Dim flag As Boolean '绘图标志
'设置线的颜色
Private Sub Command1_Click()
  On Error Resume Next
  CommonDialog1.CancelError = True
  CommonDialog1.DialogTitle = "颜色"
  CommonDialog1.ShowColor
  If Err <> 32755 Then
    Picture1.ForeColor = CommonDialog1.Color
  End If
End Sub
'清除Picture1中的图形
Private Sub Command2_Click()
  Picture1.Cls
End Sub
'设置线宽
Private Sub Option1_Click()
  Picture1.DrawWidth = 1
End Sub
Private Sub Option2_Click()
  Picture1.DrawWidth = 2
End Sub
Private Sub Option3_Click()
  Picture1.DrawWidth = 4
End Sub
Private Sub Option4_Click()
  Picture1.DrawWidth = 8
End Sub
Private Sub Form_Load()
  Picture1.Scale (0, 0)-(400, 400)
  flag = False
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, _X As Single, Y As Single)
'当按下鼠标按键时绘图开始并记录最初的起点
  flag = True
  x1 = X
  y1 = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _X As Single, Y As Single)
'如果不是处在绘图状态则退出该过程
'如果处在绘图状态则从起点到目前鼠标所在点绘制直线
'然后将当前鼠标所在点作为新的起点
  If flag = False Then
    Exit Sub
  End If
  If flag = True Then
    x2 = X
    y2 = Y
    Picture1.Line (x1, y1)-(x2, y2)
    x1 = x2
    y1 = y2
  End If
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, _X As Single, Y As Single)
'当释放鼠标按键时绘图结束
  flag = False
End Sub

程序中备有较为详细的注释,相信读者不难理解,读者可以根据自己的喜好对该程序进行修改,使之更加完善!

延伸 · 阅读

精彩推荐
  • VBVB实现的16位和32位md5加密代码分享

    VB实现的16位和32位md5加密代码分享

    这篇文章主要介绍了VB实现的16位和32位md5加密代码分享,需要的朋友可以参考下...

    VB.NET教程网7872021-10-08
  • VBVB实现禁用任务管理器的方法

    VB实现禁用任务管理器的方法

    本文给大家介绍的是使用VB来实现禁用任务管理器的方法和示例,十分的简单实用,有需要的小伙伴可以参考下。...

    VB教程网7802021-10-14
  • VB什么是一个高效的软件

    什么是一个高效的软件

    什么是一个高效的软件?一个高效的软件不仅应该比实现同样功能的软件运行得更快,还应该消耗更少的系统资源。这篇文章汇集了作者在使用VB进行软件...

    VB教程网4122021-10-06
  • VBvb是什么意思?vb编程语言有哪些特点及优势?

    vb是什么意思?vb编程语言有哪些特点及优势?

    Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可...

    服务器之家8862021-12-25
  • VB关于MSCOMM控件的一些说明

    关于MSCOMM控件的一些说明

    VB5.0/6.的MSComm通信控件提供了一系列标准通信命令的接口,它允许建立串口连接,可以连接到其他通信设备(如Modem)....

    VB教程网4152021-10-06
  • VBVB程序设计如何产生真正的随机函数?

    VB程序设计如何产生真正的随机函数?

    本文为大家介绍VB程序设计如何产生真正的随机函数,有需要的朋友可以参考下...

    Randomize9782021-10-06
  • VB使用WMI得到计算机的信息

    使用WMI得到计算机的信息

    WMI是一项行业推荐规范,旨在为访问企业环境中的管理信息而开发一种标准化技术。该信息包括系统内存的状态、当前安装的客户应用程序清单,以及有关...

    VB教程网9702021-10-16
  • VBVB返回记录集结果到HTML表格的方法

    VB返回记录集结果到HTML表格的方法

    这篇文章主要介绍了VB返回记录集结果到HTML表格的方法,实例分析了VB获取记录集与HTML表格生成的相关技巧,需要的朋友可以参考下...

    小卒过河9942021-10-15