2009-10-14 10 views

答えて

24

Canvas.TextWidthおよびCanvas.TextHeight機能を使用できます。あなたはDelphiのコンポーネントは、 "キャンバス" を持っている場合(TBitmapのを使用して)一時的なキャンバス

Function GetWidthText(const Text:String; Font:TFont) : Integer; 
var 
    LBmp: TBitmap; 
begin 
    LBmp := TBitmap.Create; 
    try 
    LBmp.Canvas.Font := Font; 
    Result := LBmp.Canvas.TextWidth(Text); 
    finally 
    LBmp.Free; 
    end; 
end; 
+0

は10秒でもそれを私に賭けます! –

5

を作成し、制御

WidthInPixels := Label1.Canvas.TextWidth('My Text'); 

オプション2のキャンバスを使用して、オプション1

、プロパティを使用すると、Component.Canvas.TextWidthを使用できます。例:あなたが使用できるのDBGridのテキストの幅を取得する:

ここ
DBGrid1.Canvas.TextWidth('Stack'); 

を、あなたは、この問題についての完全なリファレンスを見つけることができます。 Length of Delphi string in pixels

関連する問題