Visual Basic程序设计实训教程第4章 绘图.pptVIP

Visual Basic程序设计实训教程第4章 绘图.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
出版社 理工分社 Visual Basic程序设计实训教程 1)坐标系 Visual Basic系统中的容器对象都有默认的坐标系统,其坐标原点(0,0)在左上角,X轴正向水平向右,Y轴正向垂直向下。在VB中,系统提供了7种标准规格的坐标度量单位和一种由用户自定义的度量单位。其中twips(缇)为默认度量单位。用户可用Scale Mode 属性设置,取值及含义参见表4.1。 第4章 绘图 第一节 知识要点 * * 定义坐标系的两种方法: ①使用属性ScaleLeft、ScaleTop、ScaleHeight、ScaleWidth可以进行坐标系统的设置。对象左上角坐标为(ScaleTop,ScaleLeft),对象右下角坐标为(ScaleWidth+ScaleLeft,ScaleTop+ScaleHeight)。根据左上角和右下角坐标值的大小自动设置坐标轴的正向。 * ②Scale方法,使用此方法可直接定义对象的左上角坐标和右下角坐标值,一旦这两个角的坐标值确定,则另两个角坐标值也就定下来了。 语法格式:[Object].Scale[(x1,y1)-(x2,y2)] * 2)绘图属性 ①CurrentX,CurrentY属性 说明:返回或设置绘图对象当前水平(CurrentX)或垂直(CurrentY)坐标,设计时不可用。 ②DrawWidth属性 说明:返回或设置图形的线宽。 ③DrawStyle属性 说明:返回或设置一个值,以决定图形方法输出的线型的样式。 * ④FillStyle属性 说明:用来设置填充Shape控件以及由Circle和Line图形方法生成图形的填充方式。 ⑤FillColor属性 说明:用于设置填充形状的颜色,默认情况下Fillcolor设置为0(黑色)。 3)图形方法 * * 4)图形控件 在Visual Basic包含的与图形有关的控件有图片框(PictureBox)、图像框(Image)、形状控件(Shape)和直线控件(Line)。图形控件的优点是使用较少的代码创建图形。图形文件可以在窗体、图片框控件和图像框控件这三种对象上显示。图形文件可以来自各种绘图程序,VB支持.bmp, .dib, .ico, .cur, .wmf, .emf, .jpg和.gif等图形的文件。 * 第二节 常见错误与重难点分析 1)FORM_LOAD事件内无法绘制图形 用绘图方法在窗体上绘制图形时,如果将绘制过程放在FORM_LOAD事件内,由于窗体装入内存有一个时间过程,在该时间段内同步地执行了绘图命令,所绘图的图形无法在窗体上显示。 * 有两种方法可以解决此问题。方法一,将绘图程序代码放在其他事件内。通常在PAINT事件中完成绘图,当对象在显示,位移,改变大小和使用REFRESH方法时,都会发生PAINT事件。方法二,将窗体的AUTOREDRAW属性设置为TRUE,窗体上任何以图形方式显示的图形对象都将在内存中建立一个备份,当窗体的FORM_LOAD事件完成后,窗体将产生重画过程,从备份中调出图形。 * 2)VB坐标系中旋转正向 在VB坐标系中,逆时针方向为正,各绘图方法都参照此坐标系。  * 3)如何清除已绘制的线条 LINE控件在窗体上移动时,原位置上不会留下图形痕迹。如果用LINE方法来代替LINE控件,则每次在新位置上画直线前,需要清除原位置上的线条。清除原来位置上的线条,可将DRAWMODE属性设置为XOR模式,在原位置上重画一次直线,即可清除原来的线条。 * 4)如何判定对象是否越出窗体的边界 当对象在窗体上移动时,对象是否越出窗体上边界或左边界,不能用对象的TOP0或对象的LEFT0来判断,对象的TOP0(LEFT0)仅表示该控件的上边界越出窗体上(左)边界,而不是整个控件越出窗体的上(左)边界,还需要加上控件的高度(宽度)。 * 5)位块传送产生“无效的过程调用”错误的原因 PAINTPICTURE方法中位块传送的最小宽(高)度为8TWIP单位,如果所取区域小于下限数,将产生“无效的过程调试”错误。可在程序中加如“ON ERROR RESUME NEXT”错误语句,忽略错误。 * 6)PAINTPICTURE方法处理动画时无动感 如果使用PAINTPICTURE方法处理动画,由于处理时间较长,可能看不到动感效果。为了能形成动感,需要在该方法使用后立即调用DOEVENTS方法,将控件制权交给WINDOWS,再返回程序,此时可刷新图形对象内部的画面。 * 第三节 习题与参考答案 *

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档