vb界面的坐标是从左到右和从上到下的坐标是如何变化的

坐标的变化是多少 最小的精准度是多少

VB的坐标系统综述

由于在visual basic系统中有多种坐标定义,容易使初学者混淆,本文将详细总结vb的坐标系统的一些基本概念,并提供坐标定义的详细方法:

visual basic 坐标系统概述:

visual basic 的坐标系统是指在屏幕(screen)、窗体(form)、容器(container)上定义的表示图形对象位置的平面二维格线,一般采用数对(x,y)的形式定位。其中,x 值是沿 x 轴点的位置,最左端是缺省位置 0。y 值是沿 y 轴点的位置,最上端是缺省位置 0。

在visual basic坐标系中,沿坐标轴定义位置的测量单位,统称为刻度,坐标系统的每个轴都有自己的刻度。坐标轴的方向、起点和刻度都是可变的,在后面的叙述中,将讨论如何改变这些定义。

如何创建坐标系统:

创建图形对象的坐标系统,一般有以下几种方法:

1、使用系统缺省定义:

在系统缺省状态下,visual basic使用twips坐标系,以’缇’为单位(1缇的长度等于1/1440英寸;1/567厘米;1/20磅)。应当注意的是:这些值指示的是图形对象打印尺寸的大小。而在计算机屏幕上的物理距离则根据监视器的大小及分辨率的变化而变化。

2、选择系统标准刻度定义:

除了缺省的twips坐标系外,用户还可以通过对象的scalemode属性来设置其它的坐标刻度:(共有8种设置),现将这些设置列表如下:

scalemode值 表示 说明

0 user 用户自定义

1 twip 缇,系统缺省设置

2 point 磅,每英寸约为72磅

3 pixel 像素,像素是监视器或打印机分率的最小单位。每英寸里像素的数目由系统设备的分辨率决定。

4 character 字符,打印时,一个字符高 1/6 英寸,宽1/12 英寸

5 inch 英寸,每英寸为2.54厘米

6 millimeter 毫米

7 centimeter 厘米 

在上述设置值中,除了 0 和 3以外,其它所有模式都是打印机所打印的单位长度。例如,某对象长为4个单位,当 scalemode 设为 5 时,打印时就是4英寸长。在程序中设定scalemode值的代码如下:

'设窗体的刻度单位为厘米。

scalemode = 7

'设 picture1 的刻度单位为像素。

picture1.scalemode = 3

3、创建自定义坐标系统:

当scalemode=0时,即为用户自定义模式,可采用设置对象的相应属性,来创建所需的坐标系统,这些属性是:

scaleleft: 设置对象左边距值

scaletop: 设置对象上边距值

scalewidth: 设置对象宽度

scaleheight: 设置对象高度

下面给出如下设置代码:

scaleleft=100

scaletop=100

scalewidth=300

scaleheight=200

picture1.scaleleft=50

picture1.scaletop=50

则所定义的坐标系如下图所示:

scaletop=100

picture1.scaleleft=50

以上代码定义窗体左上角坐标为(100,100),定义窗体内图形对象picture1距窗体左边距离为50,上边距离为50。scalewidth 和 scaleheight 语句定义窗体内部宽度的 1/300 为水平坐标单位;当前窗体内部高度的 1/200 为垂直坐标单位。如果窗体的大小以后被调整,这些单位保持原状。也就是说:scalewidth 和 scaleheight 是按照对象的内部尺寸来定义单位的,并且这些尺寸不包括边框厚度或菜单标题的高度。scalewidth 和 scaleheight 是指对象内的可用空间的大小。它们决定了对象本身的坐标系统。这有别于内部尺寸和外部尺寸(由 width 和 height属性指定)定义,width 和 height 总是按照容器的坐标系统来表示。另外以上刻度属性都可包括分数,也可是负数。如果将 scalewidth 和 scaleheight 属性设置值为负数即改变坐标系统的方向。

4.使用scale方法定义坐标系统:

一个更简洁的改变坐标系统的途径是使用 scale 方法。定义形式如下:

[object.]scale (x1, y1) – (x2, y2)

x1 和 y1 的值,决定了 scaleleft 和 scaletop 属性的设置值。x2-x1的差值和y2-y1的差值,分别决定了 scalewidth 和 scaleheight 属性的设置值。若指定 x1 > x2 或 y1 > y2 的值,与设置 scalewidth 或 scaleheight 为负值的效果相同。例如:设定窗体坐标系统如下:

scale (100, 100)-(200, 200)

该语句定义等同于以下属性设置:

scaletop=100:scaleleft=100:scalewidth=100:scaleheight=100

如何恢复缺省坐标系统:

在定义了其它坐标系后,如果需要将坐标系统恢复为缺省的twips坐标系,可以使用不含参数的scale方法,如语句:

picture1.scale

将图形对象的坐标系统恢复为缺省,其左上角坐标为(0,0)。
温馨提示:内容为网友见解,仅供参考
无其他回答

vb界面的坐标是从左到右和从上到下的坐标是如何变化的
visual basic 的坐标系统是指在屏幕(screen)、窗体(form)、容器(container)上定义的表示图形对象位置的平面二维格线,一般采用数对(x,y)的形式定位。其中,x 值是沿 x 轴点的位置,最左端是缺省位置 0。y 值是沿 y 轴点的位置,最上端是缺省位置 0。在visual basic坐标系中,沿坐标轴定义位置...

vb中坐标系是如何定义的?如何表示绝对坐标和相对坐标。
窗体内的左上角的座标为(0,0),向右是.Left+,向左是.Left-,向下是.Top+,向上是.Top-;如果要使用相对座标,比如向右移动100,就可以写成Object.Left=Object.Left+100即可。

VB中图像框控件的坐标系统是如何规定的?
VB的坐标系是统一的 左上角是原点(0,0)往右X增加 往下Y增加

vb窗口在屏幕上的位置
首先把界面在图纸上画好了,记下各处控件的位置和大小(一般是top left width height四个参数)注意坐标系是从屏幕的左上角为原点,向右为X,向下为Y 在form的load事件中加入代码:me.top= '窗体上边的位置 me.left= '窗体左边的位置 me.width= '窗体的宽度 me.height=‘窗体的高度 ...(然...

vb关于自定义坐标的问题,求大神们来解答一下。
VB的默认坐标系统是以窗体的左上角为坐标原点、x轴向右、y轴向下、单位为缇。如果要使用数学中常用的四象限的坐标系统则是以窗体中心为原点,x轴向右、y轴向上,单位最好为像素。Form1.Scale (0, 500) - (500, 0) 的意思就是窗体Form1的左上角坐标为(0, 500),右下角坐标为(500, 0),...

VB.NET坐标变换
Dim g As Graphics = PictureBox1.CreateGraphics g.TranslateTransform(2, 2) ‘定义原点坐标 g.ScaleTransform(1, -1) ’X轴不变,反转Y轴 以PictureBox1中(2,2)点为新的原点(0,0)向右为X轴正方向 向上为Y轴正方向

vb中的 UBou
在VB编程中,理解数组的维度至关重要。首先,我们从一维数组说起,想象一个桌子,从左到右测量,每1cm为一个单元,用数组表示就是长度(i),其中i的范围从0到120。二维数组则进一步考虑前后方向,如桌面(i, j),其中i从0到120,j从0到60,每个位置都有对应的坐标。三维数组则包含了上下,即桌子(...

VB里面怎么定义窗体的坐标?
用窗体的LEFT(左)和TOP(顶、上)属性定义其左上角的坐标,用其WIDTH(宽)和HEIGHT(高)属性定义其右下角的坐标

vb实现打开窗口后窗口从左边滑入中间关闭后从中间滑入右边。
Private Type RECT x1 As Long y1 As Long x2 As Long y2 As Long End Type Private Declare Function GetDesktopWindow Lib "USER32" () As Long Private Declare Function GetWindowRect Lib "USER32" (ByVal hWnd As Long, rectangle As RECT) As Long Dim Form_left As Long Dim Screen...

vb坐标系的正负 是跟数学上的坐标系一样x向右为正,y向上为正吗?求解...
默认情况下,窗体左上角为原点,X向右为正,Y向下为正。均无负值。朋友。

相似回答