Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#1

Länge und Höhe eines Textes (String)

  Alt 31. Okt 2003, 09:24
Da es anscheinend öfters benötigt wird, denke ich mal es wird hier gut rein passen.
Delphi-Quellcode:
function TextLaenge(Font: TFont; Text: String): Integer;
var
  B: TBitMap;
begin
  B := TBitMap.Create;
  B.Canvas.Font := Font;
  Result := B.Canvas.TextWidth(Text);
  B.Free;
end;

function TextHoehe(Font: TFont; Text: String): Integer;
var
  B: TBitMap;
begin
  B := TBitMap.Create;
  B.Canvas.Font := Font;
  Result := B.Canvas.TextHeight(Text);
  B.Free;
end;

(* Beispiel für einen Aufruf der Funktion(en) *) 
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  (* Wichtig:                              *
  * Es muß der Font übergegeben werden,  *
  * der auch für die Darstellung des      *
   * entsprechenden Textes verwendet wird. *)

  I := TextLaenge(Edit1.Font, Edit1.Text);
  Label1.Caption := IntToStr(I);
end;
[edit=Matze]Code formatiert. Mfg, Matze[/edit]
[edit=fkerber]Neu abgespeichert wg. Code-Highlighting. Mfg, fkerber[/edit]
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat