AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas.TextOut zentrieren

Ein Thema von Nicodius · begonnen am 14. Dez 2011 · letzter Beitrag vom 22. Mär 2012
Antwort Antwort
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#1

Canvas.TextOut zentrieren

  Alt 14. Dez 2011, 17:45
Hallo Leute,

ich würde gerne eine Ausgabe per TextOut auf dem Form zentrieren.
x := Form1.Width div 2 - (Canvas.TextWidth(text) div 2); kommt bei der Schriftgröße schon einigermaßen hin, aber bei manchen texten hängt es.
Habt ihr da vl eine schöne Lösung oder irgendwelche Parameter die ich hier gebrauchen könnte?

lg Nico
Nico Müller
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#2

AW: Canvas.TextOut zentrieren

  Alt 14. Dez 2011, 17:52
sorry alter code
x := round((Form1.Width - Canvas.TextWidth(text)) / 2); ist der aktuelle. Leider genau das gleiche problem.
canvas.TextOut(round((form1.ClientWidth - canvas.TextWidth('ZENTRIERT')) / 2),200,'ZENTRIERT');
von http://www.delphipraxis.net/2634-tex...usrichten.html
bringt leider nicht das gewünschte ergebnis

EDIT: Das Problem scheint nur bei bold texten zu bestehen. da geht anscheinend die textwidth nicht richtig drauf?
Nico Müller

Geändert von Nicodius (14. Dez 2011 um 17:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.554 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Canvas.TextOut zentrieren

  Alt 14. Dez 2011, 17:53
IMHO geht das mit MSDN-Library durchsuchenDrawText wesentlich einfacher.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Canvas.TextOut zentrieren

  Alt 14. Dez 2011, 18:07
Delphi-Quellcode:
var
 r:TRect;
 s:String;
begin
  r.Left := 0;
  r.Top := 0;
  r.Right := 300;
  r.Bottom := 100;
  s := 'Testtest';
  Canvas.TextRect(r,s,[tfVerticalCenter,tfCenter,tfSingleLine]);
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#5

AW: Canvas.TextOut zentrieren

  Alt 14. Dez 2011, 18:36
Hi! Vielen Dank für eure Antworten,

beide Möglichkeiten scheinen aber Formatierungen wie bold/underline nicht zuzulassen oder?

lg Nico
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Canvas.TextOut zentrieren

  Alt 14. Dez 2011, 18:43
Du musst vorher Canvas.Font.Style einstellen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz