- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 绘 图 7.1 绘图相关的知识 图形是Windows应用程序的重要应用领域,可以为应用程序的界面增添良好的视觉效果,提供可视化的结构。 VB提供了非常丰富的绘图功能,利用这些功能,可以为应用程序的界面增加吸引力。 程序设计时,可以使用VB提供的图形控件画图,也可以调用图形方法绘制丰富多彩的艺术图形和直观的统计图表。 7.1.1 坐标系统 坐标系统是一个二维的网格,用于定义容器对象(如窗体和图片框)中点的位置。与平面几何中的坐标类似,它由两个轴组成,沿着水平的方向称为X轴,沿着垂直的方向称为Y轴,两条轴相交的地方称为原点。要表示一个点在坐标中的位置用(x,y),其中x表示这个点在X轴方向上的位置,y表示此点在Y轴方向上的位置,因此(0,0)表示坐标中两轴的交叉点。与平面几何中的坐标不同的是VB中坐标系统的缺省坐标原点(0,0)在容器对象的左上角,水平向右延伸为X轴正方向,垂直向下延伸为Y轴正方向,如图7-1所示。 7.1.1 坐标系统 1.刻度单位 VB共提供了8个坐标系刻度单位,缺省坐标使用单位缇(Twip)。程序设计者可以根据实际需要通过改变ScaleMode属性的值来改变刻度单位。ScaleMode属性取值如表7.1所示。 7.1.1 坐标系统 ScaleMode属性值1~7对应的坐标系中,X轴正方向均水平向右,Y轴正方向均垂直向下,区别只是坐标系的刻度单位不同,这7种坐标系是VB提供的标准坐标系统。ScaleMode属性值为1对应的坐标系是缺省坐标系。 例如: Form1.ScaleMode=6 设置窗体Form1的坐标系刻度单位为毫米 Picture2.ScaleMode=3 设置图片框Picture2的坐标系刻度单位为像素 7.1.1 坐标系统 2.自定义坐标系统 VB中允许自定义坐标系统,自定义坐标系统允许程序设计者灵活地定义原点位置、X和Y轴方向和刻度。 7.1.1 坐标系统 通过ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight属性自定义坐标系统 当改变容器对象以上属性值后,容器对象的左上角在新的自定义坐标系中的坐标值为(ScaleLeft,ScaleTop),容器对象的右下角在新的自定义坐标系中的坐标值为(ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight),根据左上角和右下角坐标值的大小自动设置坐标轴的正方向。X轴和Y轴的度量单位分别为1/ScaleWidth和1/ScaleHeight。 四个属性的设置情况如图7-2所示。 从图中可以看出,自定义坐标系统中的四个属性值是不包含标题栏和边框的。实际上,所有以Scale为前导的属性名,都是针对对象内的有效绘图区域的。 例 将一个标签(Label1)的左上角移动到窗体的中央位置。 如果采用缺省坐标系,就需要以缇为单位来计算窗体中央的位置,显然计算略显繁琐。如果采用自定义坐标系,将窗体的高度和宽度均定义为2个刻度单位,则窗体的中央位置即是坐标为(1,1)的点。界面设计如图7-5(a)所示,为便于区分,将Label1的BackColor属性设置为黑色。运行时单击“移动”按钮,将标签Label1的左上角移动到窗体的中央位置,如图7-5(b)所示。 7.1.1 坐标系统 “移动”按钮Command1的Click事件过程如下: Private Sub Command1_Click() Form1.ScaleWidth = 2 Form1.ScaleHeight = 2 Label1.Left = 1 Label1.Top = 1 End Sub 7.1.1 坐标系统 通过Scale方法自定义坐标系统 Scale方法可以重新设置各种容器对象的坐标系统。其使用格式如下: [对象名.]Scale [(x1,y1)- (x2,y2)] 该方法用于将容器对象的左上角坐标定义为(x1,y1),右下角坐标定义为(x2,y2)。 如果不带任何参数调用该方法,可以使坐标系还原成系统缺省的坐标系。 7.1.1 坐标系统 一旦执行了Scale方法,该容器对象的ScaleMode值会自动变为0,表示自定义坐标系统,其它四个属性(ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight)的值也将自动被设置成与x1、yl、x2、y2相对应的值。其中,x1、y1的值决定了ScaleLeft和ScaleTop属性的值,而(x1,y1)与(x2,y2)两点x坐标的差值和y坐标的差值,分别决定了ScaleWidth和ScaleHeight属性的值。 例如,Picture1.Scale (10,20)-(200,300
文档评论(0)