程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 如何用Delphi 6 編程讓文本動起來

如何用Delphi 6 編程讓文本動起來

編輯: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結構如下:

  type

  TLogFontA = packed record

  lfHeight: Longint;

  //以邏輯單位標定的字體高度,取值可為正負或零。

  lfWidth: Longint;

  //字體的平均寬度,若指定為0,則系統會自動根據適當的比例自動處理寬度。

  lfEscapement: Longint;

  //輸出方向與當前坐標系X軸之間的以十分之一度為單位的角度。

  lfOrientation: Longint;

  //每個字符與當前坐標系X軸之間的以十分之一度為單位的角度。在Windows 95中這個值等同於lfEscpement。

  lfWeight: Longint;

  //范圍為從0至1000的字體加重程度,400是標准字體,700是加重字體,0表示采用默認值。

  lfItalic: Byte; //不為0表示采用斜體字。

  lfUnderline: Byte; //不為0表示帶下劃線。

  lfStrikeOut: Byte; //不為0表示帶刪除線。

  lfCharSet: Byte; //指定字體集。

  lfOutPrecision: Byte;

  //輸出精度,用於確定對前面一些設定值的精確程度。

  lfClipPrecision: Byte;

  //裁剪精度,就是去掉圖形中落在視圖以外的部分,有助於提高圖形的處理速度。

  lfQuality: Byte; //指定輸出質量。

  lfPitchAndFamily: Byte; //指定字體的Pitch和Family。

  lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar;

   //指定采用的字體名稱,且LF_FACESIZE=32。

  end;

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved