您的位置:首页 > Delphi 让文本动起来
站内搜索

让文本动起来

   Delphi是具有可视化界面的面向对象编程语言,它以其功能强大、简便易用等诸多特性深受编程人员的喜爱。在Delphi 6 程序中输出文字时,文字一般是水平或垂直的,虽然可以很容易地改变文字的字体、字号、颜色,但要输出带任意倾斜度的文字以达到特殊的显示效果就有点困难了。

   Win32 API即为Windows应用编程接口(Application Programming Interface),所有在Win32平台上运行的应用程序都可以调用这些函数,所以通过调用Win32 API 函数可以实现输出文字的特殊显示操作。

  实例要求

  在窗体的下部有一个按钮,单击按钮后,窗体中间输出一行文字,如:“中国电脑教育报”,输出的文字在窗体的中间顺时针旋转。

  重要API函数

  将指定的对象选入给定的设备描述表。

  function SelectObject(DC:HDC;p2:HGDIOBJ):HGDIOBJ;stdcall;

  使用LogFont结构创建一种逻辑字体。

  function CreateFontIndirect(const P1:TLogFont):HFont;stdcall;

  用当前字体把一个字符串写到指定位置。

  function TextOut(DC: HDC; X, Y: Integer; Str: PChar; Count: Integer): BOOL; stdcall;

  从内存中删除一个对象(本文指逻辑字体)。

  function DeleteObject(p1: HGDIOBJ):

  BOOL; stdcall;

  字体结构

  TLogfont结构是实现文字特殊显示的关键,Windows将根据结构中的内容创建出相应的逻辑字体,在Delphi的Windows.pas中定义的TLogFont结构如下:



  注意在Windows环境下,每种字体具体输出为何种形式取决于很多因素,需要对以上这些参数进行有效的组合才能达到所要的效果。

  创作步骤

  在Delphi 6.0中,建立一个新的标准工程。

  在窗体下部添加一个Button按钮,将其Caption属性设为“开始旋转”。

  添加“开始旋转”按钮的事件处理过程代码:

  注:以上代码在Windows me和Delphi 6 中运行通过。

  结束语

  这是Windows的API函数使用的一个具体例子,希望能对广大读者起到抛砖引玉的作用,笔者对LongFont结构的详细说明,但愿读者能够触类旁通,利用Win32 API接口函数编写出更为丰富多彩的文字效果。

  • 上一篇:用编程来实现24小时制到12小时制的转换
  • 下一篇:Delphi+Cell全攻略