用VB做出把字放中间代码!

来源:百度知道 编辑:UC知道 时间:2024/06/04 19:34:21
Private Sub Form_Activate()
Dim a$
a = "123456"
CurrentX = (ScaleWidth - TextWidth(a)) / 2
CurrentY = (ScaleHeight - TextHeight(a)) / 2
Print a
End Sub
问题:CurrentX = (ScaleWidth - TextWidth(a)) / 2
为什么要用ScaleWidth - TextWidth呢?这样一减后,在除2,不就是不在中心了吗?要想在中心应该是ScaleWidth/2啊~
我晕~

若是CurrentX=ScaleWidth/2 则第一个字符会显示在中心位置,而后面的会偏右了,在CurrentX=ScaleWidth/2-TextWidth(a)/2 位置上输出第一个字符不是a的中间字符在中心了吗?
把CurrentX=ScaleWidth/2-TextWidth(a)/2 提取公因式2就是CurrentX = (ScaleWidth - TextWidth(a)) / 2

我说明白了吗?

因为TextWidth是返回a字符串的长度,如果不减这个,X的坐标就在a字符串的Left上,要居中必须减了TextWidth的宽度再除2,这才是中间位。

width是控件的实际宽度,ScaleWidth是窗体或图片框的用户自定义宽度,这个用户自定义宽度主要是便于用户使用自己的坐标系统