正 文

在VB6中定义用户屏幕坐标


www.7dspace.com  更新日期:2005-12-11 6:59:37  七度空间


在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)


上一篇:在.net中创建使用全球唯一标识符
下一篇:用Iformattable接口控制.Net中文本格式
作者:  来源:techrepublic.com.com ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐