![]() |
AW: Canvas.TextOut zentrieren
Also bei mir sieht das hier ganz ordentlich aus:
Delphi-Quellcode:
procedure TFormTest.FormPaint(Sender: TObject);
const DRAWFLAGS = DT_SINGLELINE or DT_CENTER or DT_VCENTER; YOffset = 35; var s: string; R: TRect; OldFont: TFont; procedure DrawRect; begin R.Top := R.Top + YOffset; R.Bottom := R.Bottom + YOffset; DrawText(Canvas.Handle, PChar(s), -1, R, DRAWFLAGS); end; begin OldFont := TFont.Create; try //alten Font sichern OldFont.Assign(Canvas.Font); R := Rect(0, 0, ClientWidth, YOffset); s := 'Erste Zeile'; DrawRect; Canvas.Font.Size := 14; Canvas.Font.Style := [fsBold]; s := 'Zweite Zeile'; DrawRect; Canvas.Font.Size := 12; Canvas.Font.Style := [fsBold, fsItalic]; s := 'Dritte Zeile'; DrawRect; Canvas.Font.Size := 20; Canvas.Font.Name := 'Times New Roman'; Canvas.Font.Style := [fsItalic]; s := 'Vierte Zeile'; DrawRect; //Gesicherten Font wiederherstellen Canvas.Font.Assign(OldFont); finally OldFont.Free; end; end; |
AW: Canvas.TextOut zentrieren
Danke DeddyH! Das hat prima funktioniert.
Würde mich trotzdem itneressieren warum das TextWidth mit dem fsbold nicht umgehen kann. lg Nico |
AW: Canvas.TextOut zentrieren
Das kann ich aus dem Hut leider auch nicht sagen. Evtl. bringt ein Blick in die Delphi-Sourcen Licht ins Dunkel.
|
AW: Canvas.TextOut zentrieren
kann es sein dass Du TextWidth nicht neu berechnen lässt nach der Umstellung auf Bold ?
|
AW: Canvas.TextOut zentrieren
Vielleicht ein Reihenfolgeproblem,
erst Bold, dann TextWidth setzen? Ciao Frank EDIT: Thomas war schneller |
AW: Canvas.TextOut zentrieren
Wenn er ASMs Code 1:1 übernommen hat, kann es daran ja eigentlich nicht liegen, da dort der Font erzeugt, übergeben und anschließend ausgewertet wird.
|
AW: Canvas.TextOut zentrieren
Nein wurde zuerst bold gesetzt und dann berechnet. Wirklich seltsam.
|
AW: Canvas.TextOut zentrieren
Zitat:
setzen?! Nur Vermutung: Image1.Picture.Graphic.Width := Image1.Width; Image1.Picture.Graphic.Height := Image1.Height; neu setzen. Schöne Grüße aus Nürnberg, Manfred |
AW: Canvas.TextOut zentrieren
Wieso Image? Er hat doch direkt auf das Formular gezeichnet.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz