程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi的繪圖功能[9] - TextRect

Delphi的繪圖功能[9] - TextRect

編輯:Delphi
//第一種重載的聲明:
TextRect(
Rect: TRect; {矩形}
X, Y: Integer; {相對於窗體的位置}
const Text: string {文本}
);
{如果要輸出的文本超出指定的矩形將 不被顯示}
------------------------------------------------------------------------------ --
//第一種重載的舉例:
procedure TForm1.Button1Click(Sender: TObject);
const
R: TRect = (Left:0; Top:0; Right:60; Bottom:60);
s = '萬一的 Delphi 博客';
begin
Canvas.Brush.Color := clWhite;
Canvas.FillRect(R);
Canvas.TextRect(R, 10, 10, s);
end;

//效果圖:

//第二種重載的聲明:
TextRect(
var Rect: TRect; {矩形范圍}
var Text: string; {文本}
TextFormat: TTextFormat = [] {選項; 集合類型, 默認 值是個空的集合}
);
{參數三是 TTextFormat 類型的集合, 它定義如下:}
TTextFormat = set of TTextFormats;
{TTextFormats 是個枚舉, 定義如下}
TTextFormats = (tfBottom, tfCalcRect, tfCenter, tfEditControl, tfEndEllipsis,
tfPathEllipsis, tfExpandTabs, tfExternalLeading, tfLeft, tfModifyString,
tfNoClip, tfNoPrefix, tfRight, tfRtlReading, tfSingleLine, tfTop,
tfVerticalCenter, tfWordBreak);
{所以參數三可以是下列值之一或它 們的組合}
tfBottom
tfCalcRect
tfCenter
tfEditControl
tfEndEllipsis
tfPathEllipsis
tfExpandTa bs
tfExternalLeading
tfLeft
tfModifyString
tfNoClip
tfNoPrefix
tfRight
tfRtlReading
tfSingleLine
tfTop
tfVerticalCenter
tfWordBreak
//這個函數是 API 函數 DrawTextEx 的簡化, 可以參見: DrawTextEx
------------------------------------------- -------------------------------------
//第二種重載的舉例1:
{默認是頂對齊、左對齊; 前兩 個參數都是傳址的, 不能用常量}
procedure TForm1.FormPaint(Sender: TObject);
var
R: TRect;
S: string;
begin
R := ClientRect;
InflateRect(R,-10,-10); {把矩形縮 小一圈}
S := 'Delphi';
Canvas.Brush.Color := clWhite;
Canvas.FillRect(R);
Canvas.TextRect(R, S);
end;

//效果圖:

//第二種重載的舉例2:
{單行文本、水平居中、垂直居中}
procedure TForm1.FormPaint(Sender: TObject);
var
R: TRect;
S: string;
begin
R := ClientRect;
InflateRect(R,-10,-10); {把矩形縮小一圈}
S := 'Delphi';
Canvas.Brush.Color := clWhite;
Canvas.FillRect(R);
Canvas.TextRect(R, S , [tfSingleLine, tfCenter, tfVerticalCenter]);
end;

//效果圖:

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