VB实现鼠标绘图实例代码_vb

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

具体的功能代码如下:

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

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索鼠标
, vb
绘图
autocad实例绘图教程、cad实例绘图教程、matlab三维绘图实例、cad绘图实例、matlab绘图实例,以便于您获取更多的相关知识。

时间: 2024-12-20 23:42:54

VB实现鼠标绘图实例代码_vb的相关文章

javascript 禁止单击鼠标右键实例代码

看代码:  代码如下 复制代码 <body onContextMenu="alert('^_^不要偷看哦!');return false"> 在我上面右击看看 </body> 在文字的上面单击右键,会弹出信息框,如图:   同一个功能,可以通过许多的方法来实现,就看你个人实惯了,上面的功能也可以通过下面的代码实现:  代码如下 复制代码 <script language="javascript"> <!--  functio

C#鼠标绘图程序的问题

问题描述 做了一个绘图程序在鼠标移动时候能画出线来,但是为了使鼠标的移动不会产生很多条线,只有一条线跟着鼠标在画.在MouseMove事件中画线之前加了这个方法graphics.clear()这样解决了留下鼠标轨迹的问题,但是画第2条线的时候第一条线也会被清除掉,请问怎么解决这问题 解决方案 解决方案二:第一种方法:画第二条线之前,使用背景色重画第一条线.(不推荐)第二种方法:在类中定义记录需要画线的数据的成员,在MouseMove消息中,更新数据,执行Invalidate();在Paint事件

VB鼠标绘图基础资料总结

VB鼠标绘图基础资料总结 鉴于上半年编写过鼠标绘图的程序,在此将以前搜集的资料总结一下,给那些以前和我一样到处搜索的VB爱好者们一点方便,同时欢迎交流和指正.这里我尽量写的罗嗦又罗嗦一些,希望大家不要怪我.因为我们很多的资料都是理论性太强了,实用性或者说教人怎么用,太弱了.我希望能够罗嗦明白一点.我也是一个VB刚刚入门的人,把有限的经验写出来和大家分享. 前言鼠标绘图可以说是每一个VB编程者都想必定要尝试和锻炼的一个项目.学会了鼠标绘图,你就学会了Windows的鼠标操作,屏幕模映射模式,绘图模

VB.NET设置屏幕分辨率、颜色位数、刷新率 实例代码

这篇文章介绍了VB.NET设置屏幕分辨率.颜色位数.刷新率 实例代码,有需要的朋友可以参考一下   复制代码 代码如下: Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long Private Declare Function ChangeDisplaySettings Lib "user32" Alias "C

JavaScript 实现鼠标拖动元素实例代码

 这篇文章主要介绍了JavaScript 实现鼠标拖动元素实例代码,需要的朋友可以参考下 一.前言   最开始实现鼠标拖动元素的目的就是在一个页面上拖动很多小圆点,用于固定定位,然后在复制HTML,粘贴在页面的开发代码中,就是这么一个功能,实现了很多遍,都没有做好,不得已采用了jQuery.fn.draggable插件,在接触一些资料和别人的思路,今天终于把这个拖动功能给完善了,下面就来看看它的实现     二.设计思路   在拖动元素上绑定鼠标按下事件,在文档对象中绑定鼠标移动,鼠标弹起事件:

高分!高分!高分!求mapxtreme for java 瘦客户端在地图上标绘图片代码实例。

问题描述 求mapxtremeforjava瘦客户端在地图上标绘图片代码实例.要能在地图上标上图片,不是文字,不如点击一个坐标. 解决方案 解决方案二:UP,晕,没人回答吗.解决方案三:vcvb的源码多一些吧?毕竟mapx是用微软那一套开发出来的--不太清楚,坐等牛人回答~解决方案四:引用2楼qma_yz的回复: vcvb的源码多一些吧?毕竟mapx是用微软那一套开发出来的--不太清楚,坐等牛人回答~ 不是啊,mapxtremeforjava是100%纯Java的,跟mapx是两个东西.解决方案

用VB生成DLL封装ASP代码一个例子:连接access数据库等

access|封装|数据|数据库 封装为dll会带来很多的好处,主要包括只是产权的保护,以及效率和安全性能的提升.这个例子中被封装的dll文件可以隐藏access数据库的实际路径. VB生成的DLL封装ASP代码来连接数据库(Access). 本文用一个最简单的连接access数据库的例子来说明如何将asp代码封装为dll文件. 我们用vb,最常见的方式来封装asp代码. 我们需要封装的对象如下: 'Proconn.aspdim ProConnset ProConn=Server.CreateO

Jquery焦点图实例代码_jquery

本文实例讲述了Jquery焦点图实例代码.分享给大家供大家参考.具体如下: 对于很多建站的朋友来讲,焦点图并不陌生,一般的企业站,门户站都会用到焦点图.我们平时在写html代码的时候,很多人为了省时省力,对于焦点图都是在网上下载一些人家写好的代码,直接套上去即可,很多时候我自己也是这样来的.因为一个焦点图有html布局,css样式调试和最关键的 javascript语句的编写.这些都是一个很麻烦的过程. 今天我就以实例讲解,手把手教你如何写Jquery焦点图.Jquery是js封装的框架,让js

cvset*d-在实现鼠标绘图时,使用cvSet2D来画轨迹,为什么在边缘处出界。求指点。

问题描述 在实现鼠标绘图时,使用cvSet2D来画轨迹,为什么在边缘处出界.求指点. 下面是代码, /* 创建白色图像,通过鼠标左键绘图,右键实现橡皮擦功能 */ #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> using namespace std; using namespace cv; bool LFlag = false; bool