![]() |
Text auf Canvas ausrichten
Wie kann ich Text auf ein Canvas zeichnen und diesen rechts untereinander ausrichten?
|
Hallo Tpercon,
Du kannst dafür die API-Funktion "DrawText" nutzen. Weitere Informationen findest Du unter der folgenden Adresse: ![]() :firejump: Greeeeeeeeeeeeeeeetz, DrDangerous |
[OT]
Hallo DrDangerous,
Zitat:
Grüsse, Daniel :hi: |
Hat jemand vielleicht nen Beispiel?
Ich tue mich da gerade ziemlich schwer. |
Hier mal ein Beispiel, dürfte klaro sein:
Code:
canvas.TextOut(0,50,'LINKS');
canvas.TextOut(form1.clientWidth-canvas.TextWidth('RECHTS'),100,'RECHTS'); canvas.TextOut(round((form1.ClientWidth - canvas.TextWidth('ZENTRIERT')) / 2),200,'ZENTRIERT'); |
|
noch ein kleiner Beipsiel:
Code:
Zeichnet ein Rechteck und zentriert einen Text in die Mitte! Basiert auf Lukies Handle-Tut!
procedure TForm1.Button1Click(Sender: TObject);
var h:HDC; rec:TRect; Brush: HBRUSH; // Handle für Brush Pen: HPEN; // Handle für Zeichenstift begin h := getdc(handle); rec.TopLeft.X := 0; rec.TopLeft.y := 50; rec.BottomRight.X := 250; rec.BottomRight.Y := 250; Brush := CreateSolidBrush(RGB(255,255,255)); Pen := CreatePen(PS_SOLID, 1, RGB(0,0,0)); SelectObject(h, Brush); SelectObject(h, Pen); Rectangle (h,0,50,250,250); drawtext(h,pchar('TEST'),4,rec,DT_CENTER+DT_VCENTER+DT_SINGLELINE); end; |
Wer ist Lukie? :shock: Muß ich den Typen kennen? :roll:
|
Danke!
Das TextWidth kannte ich noch nicht, dadurch war die Lösung mit dem TextOut für mich nicht möglich! Jetzt geht's bestens! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 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