Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Länge eines Textes in Pixel ermitteln

  Alt 27. Nov 2011, 16:25
Nach langer Recherche endlich was passendes gefunden. DT_CALCRECT heißt das Zauberwort. Für alle, die das selbe Problem haben:

Delphi-Quellcode:
function TDXFont.GetTextHeight(Text: AnsiString): Integer;
var
  Rect: TRect;
begin
  FFont.DrawTextA(nil, PAnsiChar(Text), Length(Text), @Rect, DT_CALCRECT,
    FColor);
  Result := Rect.Height;
end;

function TDXFont.GetTextWidth(Text: AnsiString): Integer;
var
  Rect: TRect;
begin
  FFont.DrawTextA(nil, PAnsiChar(Text), Length(Text), @Rect, DT_CALCRECT,
    FColor);
  Result := Rect.Width;
end;
FFont ist mein Feld vom Typ ID3DXFont.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat