在VB6中定义用户屏幕坐标

ZDNet软件频道 时间:2005-06-09 作者:techrepublic.com.cn |  我要评论()
本文关键词:vb
在VB6中,有几个比较特别的对象,比如Form,PictureBox,以及Printer都具有控制自己内部的其它对象的坐标系统。

vb6中,有几个比较特别的对象,比如Form,PictureBox,以及Printer都具有控制自己内部的其它对象的坐标系统。例如,命令按钮(Command Button)的Top和Left属性决定了它在窗体坐标系统的位置。在默认情况下,坐标系统使用的是twip单位,即1个twip等于1英尺的1/1440,且原始位置(0,0)为窗体的左上角,而且从左至右,X轴逐渐增加;从上到下,Y轴逐渐增加。

然而,很多时候你都会需要改变屏幕坐标系统。在图形化程序开发中,当你需要将图形位置与程序的实际数据匹配时,改变窗体或者其它对象的位置显得相当重要。

为了在不影响原始坐标的情况下改变坐标单位,可以使用ScaleMode属性。你只需要定义一些vb常量,而很多常量都是自动定义的。

vbUser(custom,more on this soon)

vbTwips

vbPoints(a printer’s unit, one point=1/72 inch)

vbPixels

vbCharacters (120twips horizontally, 240 vertically)

vbMillimeters

vbCentimeters

 

你也可以使用Scale方法移动坐标原始位置和改变坐标轴方向,以下该方法:

Scale(x1,y1)-(x2,y2)

X1和y1为对象左上角的新坐标位置;

X2和y2为对象右下角的新坐标位置;

现在让我们看看一些范例。这一方法将使原点处于左上角,但将坐标系统单位改变为窗体大小的1/100:

From.Scale(0,0)-(100,100)

以下调用将移动原点到窗体的左下角,并旋转Y轴:

From1.Scale(0,100)-(100, 0)

以下调用将移动原点到窗体的正中心,并旋转Y轴,然后将坐标单位转换为窗体大小的1/5000:

From1.Scale(-2500,2500)-(2500,2500)



责任编辑:李宁

欢迎投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134