分享

vb窗体left、top、width、height,scaleleft、scaletop、scalewidth、scaleheith区别。

 nxhujiee 2019-11-22
                                                

在做机房收费系统时,想要在在加载主界面时就同时加载多文档界面窗体,并且和一个子窗体,子窗体看似是嵌套到多文档窗体的效果。这里用到了窗体的几个属性,由于基础不好就复习了。

理解:

在vb中的窗体内部(出去窗体边框及标题栏的区域)有一个类似画布的东西,它始终是占满整个窗体区域的,它有一个坐标系统,默认的是原点就是窗体的左上角,坐标是0,0,然后水平的是X轴垂直的是Y轴,但是这个坐标的单位默认是堤,也可以修改成其他类型的单位,要修改度量单位的话就设定窗体的ScaleMode属性。eg:像scaleMode=3

这个坐标系统是用来确定要在什么位置上通过print等方法来作图的,以及确定在这个容器中的什么位置上放置控件。以及窗体宽和高的比例情况。

 

scale类属性的作用

这些scale类型属性主要是用来设定画布坐标系的数值跟窗体的高宽数值比例情况的。

scaleLeft和scaleTop这两个属性用来设定这个坐标系的原点位置,系统默认的scaleLeft和scaleTop是0,也就是说原点窗体的左上角系统坐标只有大于0的那一块坐标,这样的好处是可以很直观地使用坐标系统。参照点都是从0且从窗体的左上角开始的。如果把连个值设定为大于0 的话,以和数学坐标系区别。

scaleMode用于设定坐标的度量单位。

width,height作用。这两个属性是用来设定窗体的宽和高,他们的单位始终是缇。会直接影响画布的大小机坐标的比例情况,要动态的设置窗体的大小也只能通过这两个属性来设定。

这些属性的关系:默认的情况下,窗体的宽和高跟窗体上的画布的宽相同。画布和窗体的关系是1:1的关系。如果把窗体的scaleheight和scalewidth属性修改为原来的1/2,这样画布和窗体的比例就是1:2的关系。要用原来数值的一半来表示窗体的宽那么只能是一个缇来代表窗体的两个缇画出的圆就是原来的两倍了。

 

缇和像素的关系:

我们可以通过vb的系统对象screen的twipperpixersX及twipPerPixersXshu属性来返回当前分辨率下每一像素所占的缇。默认是15。屏幕也是个画布,同时也像窗体一样有高和宽,要是15的前提下是scalewidth和width比例是1:1的关系。scaleHeigth和Heigth也是1:1的关系。

 

总结:窗体上有个画布它的坐标系默认跟窗体的一样,但可以通过scale类属性可以修改。也就是scale属性减少则图像变大。反比。

 

scaleleft和scaletop、scalewidth、scaleheight属性是用来创建自定义刻度(设定刻度’获取有关坐标系当前的刻度的详细信息)

scaleleft、scaletop用于设置左上角的水平坐标和垂直坐标(不直接改变窗体的大小和位置,知识将原点的位置作相应的改变);用户自定义的左上角的。

scalewidth、scaleheith属性是根据绘图区的当前宽度和高度来定义单位(表示对象可用空间的大小)。用户自定义的对象内部的。

Left和Top是对象左上角在容器中的坐标。

width和height是对象的物理宽、高度。

left=100:top=50:width=1000:height=800
ScaleLeft=60:ScaleTop=160:ScaleWidth=360:ScaleHeight=660   left和top是相对于屏幕的。width和heigth是窗体物理的宽高。而scale

是用户自定义的。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多