1. 程式人生 > >Delphi 獲取 Label 控制元件裡面文字的 Width 寬度

Delphi 獲取 Label 控制元件裡面文字的 Width 寬度

(KK_DDj 原創)

有時,我們需要根據 label 控制元件裡面的文字寬度來考慮是否需要換行,既然換行,也需要調整 label 控制元件的高度以便於顯示換行的內容。

  • 獲取 label 裡面 文字的寬度:
    Label1.Canvas.TextWidth(Label1.Caption);
  • 設定 label 控制元件換行(必須設定這樣):
    Label1.AutoSize := False;
    Label1.WordWrap := True;
  • 若當前的 Label 控制元件高度為 10,則在 Label 控制元件文字寬度超過自身控制元件寬度時,需要設定 Label 控制元件高度為之前的 2 倍,即是 20。
  • 程式碼如下:
    //文字寬度大於自身控制元件寬度,且已經設定了自動換行時
    if Label1.Canvas.TextWidth(Label1.Caption) > Label1.Width then
    begin
    Label1.Width := Label1.Width * 2;
    end;

注 : 這只是一個簡單的對於顯示不同語言的處理方法。
(若是有不對的或者更好的建議,可以留言給我的哈,請多多指教)