改变窗体和图片框上的文本对齐方式

ZDNet软件频道 时间:2004-10-19 作者:Builder.com |  我要评论()
本文关键词:vbtips PeterAitken
Visual Basic 程序可以使用 Print 方法在窗体或图片框(picture box)上显示文本。文本的位置由目标对象的CurrentX和CurrentY属性所决定。文本在这个位置总是采用左对齐方式进行排列,从位置 (CurrentX, CurrentY) 开始向右伸展。VB 不提供改变这种对齐方式的方法,但是我们
本文译自Builder.com,未经许可请勿转载

Visual Basic 程序可以使用 Print 方法在窗体或图片框(picture box)上显示文本。文本的位置由目标对象的CurrentX和CurrentY属性所决定。文本在这个位置总是采用左对齐方式进行排列,从位置 (CurrentX, CurrentY) 开始向右伸展。VB 不提供改变这种对齐方式的方法,但是我们可以使用一个 Windows API 改变这种文本的对齐方式。

这个将要用到的 API 函数是SetTextAlign,该函数声明如下:

Declare Sub SetTextAlign Lib "gdi32" (ByValhDC As Long, ByValwFlags As Long)

·         hDC是目标对象的设备上下文,其值可以从目标对象的hDC属性获得。

·         wFlags值指定期望的对齐方式。

使用以下常量可以指定文本的水平对齐方式(这些常量必须在程序中定义):TA_LEFT (value = 0)、TA_RIGHT (value = 2) 或 TA_CENTER (value = 6)。还可以用以下这些变量指定文本的垂直对齐方式:TA_TOP (value = 0)、TA_BOTTOM (value = 8) 或 TA_BASELINE (value = 24)。顶部对齐是默认的对齐方式;换句话说,文本的顶部是按照CurrentY位置对齐的。另外两个选项是:

·         底部对齐:最低的任何字符下伸,比如在“y”或“g”的下伸。

·         基线对齐:没有下伸的字符(比如“a”或“w”)的底部。

要应用水平和垂直对齐方式,只要简单地使用 Or 操作符组合两个标志即可。下面这行代码将窗体 Form1 的文本设置为居中、基线对齐:

Call SetTextAlign(Form1.hDC, TA_CENTER Or TA_BASELINE)

注意,改变文本对齐方式不会影响已经在窗体或图片框上的文本。


本文作者:Peter Aitken自从 Visual Basic 1.0 以来就一直在使用 Visual Basic 编程。他编写过很多关于 Visual Basic 以及其他计算机和编程的书以及杂志文章。


责任编辑:李宁

欢迎评论投稿

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