VB实现简单的图形区域选择

程序效果

当点击左边的部件图时,会弹出对话框提示你点击了哪一个区域。

程序思路:

用一个图片区域码图作为点击区域的参照,根据XY取得的颜色识别出属于哪一个区域

程序界面如下:

相关代码如下:

Visual Basic Code
Dim ColorArray ( ) As Long
Dim ColorCount As Long
Private Sub Form_Load ( )
'初始化颜色数量
ColorCount = Picture3.Width / 10
ReDim ColorArray ( 1 To ColorCount )
For X = 1 To ColorCount
ColorArray ( X ) = Picture3.Point ( ( X * 10 ) - 5, 5 )
Next X
End Sub

Private Sub Picture1_MouseDown ( Button As Integer,Shift As Integer,X As Single,Y As Single )
If Button = 1 Then
Dim NowColor As Long
NowColor = Picture2.Point ( X,Y )
If NowColor <> RGB ( 255, 255, 255 ) Then
Dim i As Long
For i = 1 To ColorCount
If NowColor = ColorArray ( i ) Then
ButtonClick i
Exit For
End If
Next i
End If
End If
End Sub
Private Sub ButtonClick ( Index As Long )
MsgBox "你点击了第 " & Index & "个按钮",64, "提示"
End Sub

本程序的源代码可以到以下地址下载:

http://download.csdn.net/source/2294631

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...