b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

关于VB的心得,电子教程,代码,控件,论坛,博客,微博等.

电脑杂谈  发布时间:2019-11-02 21:04:17  来源:网络整理

画图画图_洞洞板 画图_vb画图板

资料整理:影子 VB爱好者乐园

主题:用VB6.0制作画图板

作者:哈尔滨 张许国

Windows中的画笔,恐怕观众不会不知道吧?其绘图功能虽能够与的绘图工具相提并论,但也马马虎虎能够应付客户日常制图的需求。其实,利用Visual Basic我们也能开发出如“画笔”一样的硬件,甚至比它更完善,更优异。我就此制作一例,希望与大家VB的爱好者们交流VB编程的技巧与感受。

程序界面制作篇。

一、启动VB,创建一个“VB企业版控件”文件。

二、添加窗体:一个MDI窗体(MDIPaint)、一个子窗体:绘图操作区(Paintwin)、七个自由窗体,包括一个版本信息窗体(About1)、一个画笔大小调节窗体(BrushSroll)、一个启动界面(Cover)、一个滤镜信息框(Filterwin)、一个帮助窗体(Helpwin)、一个登陆提示框(password)、一个文本输入框(Textpaint)。设置MDIPaint为开启窗体图1。

三、 在字段中添加控件

1. 在MDIPaint窗体中先制作菜单:就像你看到的所有Windows程序一样,包括:文件(新建、打开、清屏、存储、另存为、关闭、打印、退出)、编辑(复制、粘贴等)、变换(垂直、水平、旋转、缩放)、滤镜(浮雕)、工具栏(隐藏、显示)、视图(颜色、字体、画笔、设置桌面)、帮助(版本信息)……并配置快捷键。然后vb画图板,设置一个通用对话框控件(Commondialog1)、两个图片列表控件(ImageList1&ImageList2)、两个工具栏(Toolbar1&Toolbar2)、一个状态条(StatusBar1)。抓取按钮,将常用的工具栏中的界面加入到ImageList1中,制作各类图像代表图标14个加入到ImageList2中,将截图列表控件与工具栏连在一起。在状况条中加入时间、X轴和Y轴坐标显示。完成图标如图2所示。其中,Toolbar1是工具栏,类似于Word中位于菜单栏下的工具栏快捷键,可按照其所含图标属性设置功能。Toolbar2是图像栏,是绘制固定图像的快捷键vb画图板,有直线、普通圆形、填充圆等,其填充模式均按按钮属性修改。

2. 在Paintwin窗体中,主要包含有两个图片框(Picture1& Pictureback),将Picture1嵌套在Pictureback中以推动才能显示任意尺寸的场景,添加两个滚动条(imagescroll1& imagescroll2)配合察看大尺寸照片。另外,还必须一个标签(forecolor1)显示前景色,一个标签(backcolor1)显示背景色,一个按钮交换前景色与背景色,一个复选框(toolbar2c1)切换MDIPaint中的图像栏与工具栏。完成图标如图2所示。

3. BrushSroll窗体主要功能是借助滚动条滑动任意调节画笔的大小,包括一个滚动条(BrushHScroll1)、画笔数值显示区(blabel2)及确定、取消按钮。

4. Cover窗体装入启动场景(施展你的戏剧才华吧),启动时间可自行设置。例如:

技巧篇

在编程中把握重要手段,灵活运用方法,往往能事半功倍。

一、像“画笔”一样,在绘图区的任意地方输入文本。

几乎所有的制图工具都提供了文字输入的功能,有的(如Photoshop)甚至还能做一些简单的文本编辑的工作。此程序也推动了这一特定用途。首先,设置Commondialog1和Picture1关于字体的所有属性,如:“Picture1.FontName = CommonDialog1.FontName”。通常“新手上路”的同事会碰到:当执行程序时,会出现一个信息框:“控制面板中未安装图标”,解决它需要首先声明两个变量:Screenfonts=&H1、Printerfonts=&H2。并写出如下代码:“CommonDialog1.Flags = Screenfonts + Printerfonts”。同时在VB的属性窗口中修改Flags的值为1。接下来需要完成在Picture1中右键左键的哪个位置输入文本这一功能,因此必须得到单击左键处的坐标,即在Picture1_Click()中将startx、satrty的值传给CurrentX、CurrentY。这样,问题就解决了。

vb画图板_洞洞板 画图_画图画图

二、灵活利用PaintPicture。

用PaintPicture方法来实现图像的翻转,比较易于(需要API——StretchBlt的支持)。其语法规则为:object.PaintPicture Picture, x1, y1, width1, height1, x2, y2, width2, height2, (opcode)。只要熟练把握其中变量的使用,那么图像变换任你选择。

以下是几个简单变换的举例:

水平翻转:Picture1.PaintPicture Picture1.Picture, Picture1.ScaleWidth, 0, -1 * Picture1.ScaleWidth, Picture1.ScaleHeight

垂直翻转:Picture1.PaintPicture Picture1.Picture, 0, Picture1.ScaleHeight, Picture1.ScaleWidth, -1 * Picture1.ScaleHeight

旋转180度:Picture1.PaintPicture Picture1.Picture, Picture1.ScaleWidth, Picture1.ScaleHeight, -1 * Picture1.ScaleWidth, -1 * Picture1.ScaleHeight

缩 小:Picture1.PaintPicture Picture1, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, -Picture1.ScaleWidth, -Picture1.ScaleHeight

放 大:Picture1.PaintPicture Picture1, Picture1.ScaleWidth, Picture1.ScaleHeight, -2 * Picture1.ScaleWidth, -2 * Picture1.ScaleHeight

三、对Toolbar中某一按键状态的控制。

通常,需对Toolbar中某一按键进行程序编制:“Select case1 case2 case3 ……” 。

当必须对一按键的状况进行控制,比如要在某一时刻让第5个按键手动按下,则只应该说出代码:“Toolbar1.Buttons(5).Value = 1”即可。

四、关于固定图形的绘制。

“画笔”能够在图纸的任意地方画出直线、虚线、空心圆、实心圆、矩形、多边形等。我在此程序中也加入了这一功能。你看见MDIPaint窗体上那一排(共14个)小图标吗?它们就是为画固定图形而设定的。例如:当我单击任一类型的填充圆后,在Picture1中左键按下的坐标会被记录出来:startx、starty。然后按住左键挪动光标,这时程序会监测左键的状况,一旦左键按住,便将此刻新的坐标值写入endx及endy。程序又转到绘图函数中,以(startx,starty)为圆心,以(sqr((startx-endx)^2+(starty-endy)^2))为半径,以预先设置的填充状态(FillStyle)及颜色(如前景色)画出一个你所期望受到的填充圆。其它固定图形的绘制方式皆大同小异。

五、借用API函数。

是不是还有许多用VB无法推动的功能?让API函数帮帮忙吧!查查你的API文本浏览器就可以了。建议你说说Visual C++,不过很也许你之后就不会用 VB写程序了。

代码篇

洞洞板 画图_vb画图板_画图画图

(限于篇幅,只列举比较重要的个别源代码)

一、文本输入:

'弹出字体对话框

If MDIPaint.Toolbar1.Buttons(11).Value = tbrPressed Then

'调用对话框弹出图标对话框

MDIPaint.CommonDialog1.FontName = “Times New Roman"

MDIPaint.CommonDialog1.Flags = Screenfonts + Printerfonts + FEffects

MDIPaint.CommonDialog1.Action = 4

Textpaint.PaintText.FontName = MDIPaint.CommonDialog1.FontName

Textpaint.PaintText.FontBold = MDIPaint.CommonDialog1.FontBold

Textpaint.PaintText.FontItalic = MDIPaint.CommonDialog1.FontItalic

Textpaint.PaintText.FontUnderline = MDIPaint.CommonDialog1.FontUnderline

Textpaint.PaintText.FontSize = MDIPaint.CommonDialog1.FontSize

Textpaint.PaintText.ForeColor = MDIPaint.CommonDialog1.Color

Cancle:

'Show(1)为模态窗体,即弹出本窗体后,不能响应其它窗体

洞洞板 画图_vb画图板_画图画图

Textpaint.Show (1)

End If

Private Sub OKc_Click()

'将文本中的内容放到图片框中

Paintwin.Picture1.CurrentX = startx

Paintwin.Picture1.CurrentY = starty

Paintwin.Picture1.FontName = PaintText.FontName

Paintwin.Picture1.FontBold = PaintText.FontBold

Paintwin.Picture1.FontItalic = PaintText.FontItalic

Paintwin.Picture1.FontUnderline = PaintText.FontUnderline

Paintwin.Picture1.FontSize = PaintText.FontSize

Paintwin.Picture1.ForeColor = PaintText.ForeColor

Paintwin.Picture1.Print (PaintText)

Unload Me

'将字体层转换为图像层

Call MDIPaint.copy_Click

洞洞板 画图_vb画图板_画图画图

Call MDIPaint.prasy_Click

End Sub

二、绘制固定图形:

Picture1.FillColor = backcolor1.BackColor '设置填充物为背景色

If MDIPaint.Toolbar2.Buttons(16).Value = tbrPressed Then

Picture1.FillStyle = 6

Picture1.Circle (starX, starY), Sqr((endX - starX) ^ 2 + (endY - starY) ^ 2), forecolor1.BackColor

Picture1.FillStyle = 1

End If

If MDIPaint.Toolbar2.Buttons(17).Value = tbrPressed Then

Picture1.FillStyle = 7

Picture1.Circle (starX, starY), Sqr((endX - starX) ^ 2 + (endY - starY) ^ 2), forecolor1.BackColor

Picture1.FillStyle = 1

End If

小结

至此,程序大功告成,而VB中关于绘图编程的方法也远不止这些,更多未完成的功能期待着聪明的你来为它完善。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-128598-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...