一个用VB5.0实现的鼠标绘图程序

疯子疯吧0

疯子疯吧0

2016-02-19 20:14

下面图老师小编跟大家分享一个简单易学的一个用VB5.0实现的鼠标绘图程序教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!
摘要:本文给出了一个用VB5.0实现的鼠标绘图程序,对程序的主要功能及实现细节作了详细说明,并给出了部分源程序.
  关键词:VB5.0,可视化程序设计
  
  1.引言
  MicroSoft公司推出的新一代可视化程序设计语言VB5.0以其功能强大和简单易学而深受广大程序设计人员的喜爱,人们用它开发出了许多绚丽多彩的应用程序,可以这样说,VB5.0将成为最流行的可视化程序设计语言.
  笔者在学习和使用VB5.0的过程中编制了一个实用的鼠标绘图程序,现提供给大家,以供大家参考.
  
  2.程序主要功能
  本绘图程序的模块结构图如下所示:
  鼠标绘图程序:
  文件
  新建
  装入
  保存
  退出
  绘图
  颜色
  前景色
  背景色
  线宽
  1象素宽
  2象素宽
  3象素宽
  4象素宽
  清除
  
  3.实现细节
  本程序主要是实现用鼠标在窗体上绘图,在绘图过程中可选择颜色及线宽,同时可将所绘图形以位图(.bmp)文件的形式存储在盘上,也可将盘上的其它图形文件调入窗体.
  3.1用鼠标在窗体上绘图
  利用窗体对象的MouseDown和MouseMove事件可实现鼠标在窗体上绘图:
  
  PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  CurrentX=X
  CurrentY=Y
  EndSub
  PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  IfButtonThen
  Line-(X,Y),forcolor
  EndIf
  EndSub
  
  其中forcolor为绘图的前景色,在本程序中前景色由用户选取.
  
  3.2颜色选取
  利用通用对话框控件Commondialog的ShowColor方法可实现前景色和背景色的选取:
  
  PrivateSubmnubkcolor_Click()
  CommonDialog1.CancelError=True
  OnErrorGoToerrhandler
  CommonDialog1.Flags=&H1&
  CommonDialog1.ShowColor
  BackColor=CommonDialog1.Color
  ExitSub
  errhandler:
  ExitSub
  EndSub
  
  3.3线宽的设置
  通过设置窗体对象的属性DrawWidth的值可实现绘图时线宽的设置,DrawWidth=1时,线宽为1个象素,以此类推.
  
  3.4图形的保存
  结合使用通用对话框控件Commondialog的ShowSave方法和SavePicture语句可实现图形的保存:
  
  PrivateSubmnusave_Click()
  OnErrorGoToerrhandler
  CommonDialog1.Filter="bmpfiles(*.bmp)"
  CommonDialog1.ShowSave
  SavePictureImage,CommonDialog1.FileName
  ExitSub
  errhandler:
  ExitSub
  EndSub
  
  3.5图形的调入
  结合使用通用对话框控件Commondialog的ShowOpen方法和LoadPicture函数可实现图形的调入:
  
  PrivateSubmnuload_Click()
  OnErrorGoToerrhandler
  CommonDialog1.Filter="bmpfiles(*.bmp)"
  CommonDialog1.ShowOpen
  Picture=LoadPicture(CommonDialog1.FileName)
  ExitSub
  errhandler:
  ExitSub
  EndSub
  4.源程序清单
  
  VERSION5.00
  Object="{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0";"COMDLG32.OCX"
  BeginVB.Formfrmdraw
  AutoRedraw=-1'True
  Caption="绘图工具软件(嘉兴高专机电系计算中心)"
  ClientHeight=4230
  ClientLeft=1140
  ClientTop=1815
  ClientWidth=6720
  BeginPropertyFont
  Name="隶书"
  Size=5.25
  Charset=134
  Weight=400
  Underline=0'False
  Italic=0'False
  Strikethrough=0'False
  EndProperty
  LinkTopic="Form1"
  PaletteMode=1'UseZOrder
  ScaleHeight=4230
  ScaleWidth=6720
  WindowState=2'Maximized
  BeginMSComDlg.CommonDialogCommonDialog1
  Left=4920
  Top=2880
  _ExtentX=847
  _ExtentY=847
  _Version=393216
  End
  BeginVB.Menumnufile
  Caption="文件"
  BeginVB.Menumnunew
  Caption="新建"
  End
  BeginVB.Menumnustepa
  Caption="-"
  End
  BeginVB.Menumnuload
  Caption="装入"
  End
  BeginVB.Menumnustepb
  Caption="-"
  End
  BeginVB.Menumnusave
  Caption="保存"
  End
  BeginVB.Menumnustepc
  Caption="-"
  End
  BeginVB.Menumnuexit
  Caption="退出"
  End
  End
  BeginVB.Menumnudraw
  Caption="绘图"
  BeginVB.Menumnucolor
  Caption="颜色"
  BeginVB.Menumnuforcolor
  Caption="前景色"
  End
  BeginVB.Menumnustep1a
  Caption="-"
  End
  BeginVB.Menumnubkcolor
  Caption="背景色"
  End
  End
  BeginVB.Menumnustepg
  Caption="-"
  End
  BeginVB.Menumnudrawwidth
  Caption="线宽"
  BeginVB.Menumnupixel1
  Caption="1象素宽"
  End
  BeginVB.Menumnustep31
  Caption="-"
  End
  BeginVB.Menumnupixel2
  Caption="2象素宽"
  End
  BeginVB.Menumnustep32
  Caption="-"
  End
  BeginVB.Menumnupixel3
  Caption="3象素宽"
  End
  BeginVB.Menumnustep33
  Caption="-"
  End
  BeginVB.Menumnupixel4
  Caption="4象素宽"
  End
  End
  BeginVB.Menumnustepf
  Caption="-"
  End
  BeginVB.Menumnuclearz
  Caption="擦除"
  BeginVB.Menumnuclear1
  Caption="全部擦除"
  End
  BeginVB.Menumnustepo
  Caption="-"
  End
  BeginVB.Menumnuclear2
  Caption="部分擦除"
  End
  End
  End
  End
  AttributeVB_Name="frmdraw"
  AttributeVB_GlobalNameSpace=False
  AttributeVB_Creatable=False
  AttributeVB_PredeclaredId=True
  AttributeVB_Exposed=False
  DimforcolorAsLong
  
  PrivateSubmnubkcolor_Click()
  CommonDialog1.CancelError=True
  OnErrorGoToerrhandler
  CommonDialog1.Flags=&H1&
  CommonDialog1.ShowColor
  BackColor=CommonDialog1.Color
  ExitSub
  errhandler:
  ExitSub
  EndSub
  
  PrivateSubmnuclear1_Click()
  Picture=LoadPicture("")
  EndSub
  
  PrivateSubmnuforcolor_Click()
  CommonDialog1.CancelError=True
  OnErrorGoToerrhandler
  CommonDialog1.Flags=&H1&
  CommonDialog1.ShowColor
  forcolor=CommonDialog1.Color
  ExitSub
  errhandler:
  ExitSub
  EndSub
  
  PrivateSubmnuexit_Click()
  End
  EndSub
  PrivateSubmnuload_Click()
  OnErrorGoToerrhandler
  CommonDialog1.Filter="AllFiles(*.*)"
  CommonDialog1.ShowOpen
  Picture=LoadPicture(CommonDialog1.FileName)
  ExitSub
  errhandler:
  ExitSub
  EndSub
  PrivateSubmnunew_Click()
  Picture=LoadPicture("")
  EndSub
  PrivateSubmnupixel1_Click()
  DrawWidth=1
  EndSub
  PrivateSubmnupixel2_Click()
  DrawWidth=2
  EndSub
  PrivateSubmnupixel3_Click()
  DrawWidth=3
  EndSub
  PrivateSubmnupixel4_Click()
  DrawWidth=4
  EndSub
  PrivateSubmnusave_Click()
  OnErrorGoToerrhandler
  CommonDialog1.Filter="AllFiles(*.*)"
  CommonDialog1.ShowSave
  SavePictureImage,CommonDialog1.FileName
  ExitSub
  errhandler:
  ExitSub
  EndSub
  PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  CurrentX=X
  CurrentY=Y
  EndSub
  PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
  IfButtonThen
  Line-(X,Y),forcolor
  EndIf
  EndSub
  
  5.结束语
  本程序已在VB5.0环境下调试通过,有兴趣的读者可对该程序进行扩充,以完成更强的绘图功能->

展开更多 50%)
分享

猜你喜欢

一个用VB5.0实现的鼠标绘图程序

编程语言 网络编程
一个用VB5.0实现的鼠标绘图程序

VB5.0中实现鼠标拖放

编程语言 网络编程
VB5.0中实现鼠标拖放

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VB5.0中实现系统登录

编程语言 网络编程
VB5.0中实现系统登录

VB5.0中实现字体闪烁效果

编程语言 网络编程
VB5.0中实现字体闪烁效果

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

VB5.0应用程序的启动与退出设计

编程语言 网络编程
VB5.0应用程序的启动与退出设计

用VB5.0创建Windows快捷方式

编程语言 网络编程
用VB5.0创建Windows快捷方式

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Linux下使用find命令查找文件如何忽略某些目录

Linux下使用find命令查找文件如何忽略某些目录

桌面屏幕翻转

桌面屏幕翻转
下拉加载更多内容 ↓