- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
画板系统的设计与实现
本工程以一个比较有趣的例子,来说明如何使用Visual Basic来开发Windows应用程序。本工程将使用VB来开发一个类似“画图”软件的程序,通过此程序,我们可以实现用鼠标画直线、矩形以及不规则线等,可以控制笔线粗细等功能。本系统可以完成以下任务:
通过自制调色板选取画笔的前景色和背景色。
用户可以设置控制画笔的粗细,颜色。
可以画点、线(直线和不规则线)、矩形等。
指示鼠标坐标,前景背景,按钮工具的信息等。
首先,现在窗体上添加各种控件,如图1-1、
图1-1画图板的设计窗口
控件名称 主要控件属性名称 属性值 功能说明 Form1 Caption 画图板—VB BorderStyle 3 – Fixed Dialog StartUpPosition 2-屏幕中心 Label3 名称 Label3 容纳工具按钮 caption 工具按钮 font 宋体,5号,粗体,下划线 BorderStyle 1-Fixed Command1 Style 1-Graphical 控件数组,为工具按钮 ToolTipText 分别为:新建、铅笔、画直线、画矩形、画点、橡皮 PictureBox 名称 DrawPic 画布,主要的绘画区。 BorderStyle 1 – Fixed Single PictureBox 名称 LineCon 用来指示绘图的线宽,由其下面的滚动条控制。 BackColor H8000000F BorderStyle 1 – Fixed Single HScrollBar 名称 HScroll1 控制绘图的线宽。 LargeChange 1 Max 20 Min 1 Label 名称 Info 用来显示提示信息等 Caption 工具指示器 BorderStyle 1 – Fixed Single 名称 Label4 Caption 鼠标坐标 Line1 这是一个线的控件数组,一黑一白,位置相对成立体效果 Label2 BorderStyle 1 – Fixed Single 存放前景背景颜色 Label 名称 ForeSee 存放前景颜色 BorderStyle 1 – Fixed Single Label 名称 BackSee 存放背景颜色 BorderStyle 1 – Fixed Single Label 名称 Label1 控件数组,用于存放颜料盒,选择不同的背景颜色。 BorderStyle 1 – Fixed Single BackColor (选择不同的颜色即可) CommandButton 名称 Command2 Caption 画板清空 名称 Command3 Caption 退出
图1-2画图板的运行窗口
本系统采用的主要原理:
系统初始化:完成系统的各项初始化。
Dim nToolNum, nMyForeColor, nMyBackColor‘被访问的工具按钮、前景、背景
Dim nStartX, nStartY, nEndX, nEndY As Integer‘指定开始和结束坐标
Dim nLineWidth As Integer‘指定线宽
Dim DrawOrNot As Boolean ‘是否开始画图
Private Sub Form_Load()‘初始化各项参数
nToolNum = 0
nLineWidth = 1
DrawOrNot = False
nMyForeColor = RGB(0, 0, 0)
nMyBackColor = RGB(255, 255, 255)
DrawPic.ForeColor = nMyForeColor
DrawPic.BackColor = nMyBackColor
End Sub
在颜料盒中选定前景和背景:
Private Sub Label1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If (Button = 1) Then‘如果是左键,则进行前景颜色设置
ForeSee.BackColor = Label1(Index).BackColor‘使用控件数组获取颜色
DemoLine.BorderColor = ForeSee.BackColor‘显示线的颜色
nMyForeColor = ForeSee.
文档评论(0)