首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 读书 | 代码
亲,您未登录哦! 登录 | 注册

在VB5中将英文字母及阿拉伯数字旋转任意角度

打印文章

分享到:
在Visual Basic 5.0中要使文本转动任意角度,需涉及一系列的Windows
编程的API结构和函数。首先需要了解逻辑字体的结构,如下所示:
  typedef struct tagLOGFONT{
  LONG lfHeight;
  LONG lfWidth;
  LONG lfEscapement;
  LONG lfOrientation;
  LONG lfWeight;
  BYTE lfItalic;
  BYTE lfUnderline;
  BYTE lfStrikeOut;
  BYTE lfCharSet;
  BYTE lfOutPrecision;
  BYTE lfClipPrecision;
  BYTE lfPitchAndFamily;
  TCHAR lfFaceName[LF-FACESIZE];
  } LOGFONT;
  在这一结构中,lfEscapement的值就是字体旋转的角度。注意,其单位
是十分之一度,因此取值范围为0至3600。在使用中先定义好逻辑字体,再用
CreateFontIndirect函数建立逻辑字体,如果建立成功将返回这一逻辑字体
的句柄,否则返回定值。在逻辑字体创建成功后,可以用TextOut函数针对某
一设备(一般可以是一个图片框)输出文字信息。TextOut函数定义如下:
BOOL TextOut(HDC hdc,int nXStart,int nYStart,LPCTSTR lpString,int cbString),
其中hdc为设备句柄,nXStart、nYStart为文本输出的开始点坐标,lpString
为待输出文本的地址,cbString为文本串长度。由于要使用到设备句柄,因
此,建议将文本输出到图片框中,因为在VB中可以直接取到图片框的设备句
柄属性供调用,而Label框则没有这一属性,需要用另外的Windows API函数
来取得,实现起来较为麻烦。

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章