欢迎来到天天文库
浏览记录
ID:7821624
大小:33.50 KB
页数:7页
时间:2018-02-27
《vb中建立用户自定义图形坐标系统的方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VB中建立用户自定义图形坐标系统的方法VB中,窗体和图片框内可以用图形方法画图。在画图时,出于各种需要,会用到各种坐标系统。VB提供了用户定义的坐标系统以满足各种需要。由于VB使用手册等各种参考资料对这方面的叙述很简单,因此部分设计人员在定义此类坐标系统时遇到了困难。本文介绍了建立用户自定义图形坐标系统的方法。1.容器的工作区 VB中,窗体、图片框和框架是常用的容器。屏幕也是一种容器,它是窗体的容器。这些容器都有各自的坐标系统。屏幕和框架的坐标系统只有一种,就是坐标原点在屏幕左上角,X轴向右,Y轴向下,刻度单位是缇(Twip,1缇=1/1440英寸)。窗
2、体及图片框与其它容器相比,特点是在它们的工作区内可以用图形方法画图。窗体工作区就是从窗体中去掉边框及标题区后的其余部分。图片框工作区就是从图片框中去掉边框后的其余部分。通常,边框的厚度和标题区的高度与它们的BorderStyle属性(边框风格属性)及Appearance(外观属性)有关。现以一种35.56厘米(14英寸)显示器分辨率640象素×480象素为例,列出几种BorderStyle属性值时非工作区部分的尺寸(Appearance属性为缺省值1): ①图片框 BorderStyle属性为0时无边框; BorderStyle属性为1(缺省值)时左
3、边框加右边框及上边框加下边框都是4象素(Pixel)。 ②窗体 BorderStyle属性为0时无边框无标题区; BorderStyle属性为1或为3时左边框加右边框是6象素,上边框加下边框加标题区是25象素; BorderStyle属性为2(缺省值)时左边框加右边框是8象素,上边框加下边框加标题区是27象素。 象素与缇的换算关系是与显示设备有关的。在VB中求屏幕对象的TwipsPerPixelX和TwipsPerPixelY属性返回值就可得到象素与缇的换算关系。在上述显示设备的情况下,1象素等于15缇。由于象素是屏幕显示各种坐标系统的基本单位,
4、所以与坐标有关的属性,其返回值是VB通过象素来换算的。2.与坐标系统有关的属性 1.Top属性和Left属性:对象左上角在其容器坐标系中的纵和横坐标,单位取决于其容器坐标系纵横坐标轴的刻度单位。 2.Height属性(高度)和Width(宽度)属性:对象的高度和宽度,单位取决于其容器坐标系纵横坐标轴的刻度单位。 3.ScaleWidth属性(定标宽度)和ScaleHeight属性(定标高度)用来表示对象坐标系横纵坐标轴的刻度单位是对象工作区宽高度的多少分之一及方向,正负号表示横纵坐标轴方向,正值表示正方向向右(下),负值表示正方向向左(上)。 4.
5、ScaleTop属性和Scaleleft属性:对象工作区的左上角在本身坐标系中的纵横坐标。 5.ScaleMode属性(定标方式属性):窗体和图片框的ScaleMode属性值决定了窗体和图片框所用的坐标系统。有8种值:0.用户定义的坐标系统;1.缺省的坐标系统,即坐标原点在工作区左上角,X轴向右,Y轴向下,刻度单位是缇;2~7.坐标系统也都是坐标原点在工作区左上角,X轴向右,Y轴向下,但刻度单位分别是磅(Point)、象素(Pixel)、字符、英寸、毫米和厘米。 ScaleMode属性值为1~7时,坐标系统是标准坐标系统。用户设置Width和Heigh
6、t这二个属性值之后,如把ScaleMode属性设置为1~7中的一个值后,VB会自动设置ScaleLeft为0、ScaleTop为0;对ScaleWidth和ScaleHeight这2个属性值,VB会将它们自动圆整为象素数的相应值(用户不能再设置这四个属性值)。例如,图片框的ScaleMode属性设置为1,Width为2887.5~2902.5缇及Height为2167.5~2182.5缇,图片框的Scalewidth返回值是2835缇(折合为189象素),图片框的ScaleHeight返回值是2155缇(折合为141象素)。3.建立用户自定义坐标系统 只
7、要用户设置了ScaleWidth、ScaleHeight、Scaletop或ScaleLeft中的任一个,则ScaleMode属性自动设置为0,而这时的坐标系统原点和坐标轴刻度单位都发生了改变,但这种改变往往需要通过计算才能看出。所以在一般情况下,不要去随便更改ScaleWidth、ScaleHeight、ScaleTop或ScaleLeft中的任一个。只有在需要建立用户自定义坐标系统时才去改变它们。现通过举例来说明如何计算有关的属性值。 例:设窗体的ScaleMode为1,图片框的Width=2894,Heigth=2179,图片框的左右边框之和及上下
8、边框之和都为60缇(4象素),在图片框上建立用户自定义坐标系统,坐
此文档下载收益归作者所有