![]() |
Umlaute mit Windows.DrawText
Hallo,
Code:
stellt die Umlaute falsch dar (in einem DbGrid(.canvas)).
windows.DrawText(DbGrid1.Canvas.Handle, pchar('äää'),-1, @crect, DT_WORDBREAK or DT_TOP or DT_LEFT);
Anstelle von Umlauten und Sonderzeichen werden nur Artefakte angezeigt. Woran kann das liegen ? (Kann man das Charset irgendwie verändern?) PS: Ich Nutze die Lazarus IDE 0.9.31 grüße stiftII |
AW: Umlaute mit Windows.DrawText
Zitat:
Neee, also nicht. Zitat:
Also wie wäre es, wenn du die Spracheinstellungen vom Windows verstellst? (auf Deutsch vermutlich?) Eventuell ist der String aber auch nur auf UTF-8 eingestellt? :gruebel: Wenn ja, dann kodiere es nach ANSI. Oder man nutzt ganz einfach DrawTextW und Unicode. |
AW: Umlaute mit Windows.DrawText
Zitat:
|
AW: Umlaute mit Windows.DrawText
Code:
Erste Frage: Warum verwendest du
windows.DrawText(DbGrid1.Canvas.Handle, pchar('äää'),-1, @crect, DT_WORDBREAK or DT_TOP or DT_LEFT);
Delphi-Quellcode:
statt
Windows.DrawText
Delphi-Quellcode:
? Letzteres unterstützt nämlich auch Zeilenumbrüche, wenn du eine
DbGrid1.Canvas.TextRect
Delphi-Quellcode:
-Variable mit
TTextStyle
Delphi-Quellcode:
verwendest.
.WordBreak := True
Zweite Frage (falls du tunlichst bei
Delphi-Quellcode:
bleiben möchtest): Welche Kodierung hat deine Quellcodedatei? Mache dazu einen Rechtsklick im Editorfenster und navigiere zu Dateieinstellungen->Zeichenkodierung. Steht der Punkt bei UTF-8 (oder ähnlich), so kannst du entweder die Einstellung auf CP1252 ändern oder das
DrawText
Delphi-Quellcode:
zu
PChar('äää')
Delphi-Quellcode:
erweitern.
PChar(UTF8ToAnsi('äää'))
Gruß, Sven |
AW: Umlaute mit Windows.DrawText
Ggf. hilft es auch den font zu wechsel, denn nicht jeder Font unterstützt alle Zeichen.
(mit Arial bist Du meist auf der sicheren Seite) Gruß K-H |
AW: Umlaute mit Windows.DrawText
Zitat:
(Habe mir die DBGrid Komponente so umgeschrieben, dass sie Umbrüche vernünftig darstellt.) Danke an euch alle =) stiftII |
AW: Umlaute mit Windows.DrawText
Puh, Text Rect funktioniert zwar mit den Umlauten, aber wie kann ich denn damit den Schrift-Stil und die TextGröße verändern ??
PS:
Code:
Funktioniert leider nicht :x
DbGrid1.Canvas.Font.size:=55;
|
AW: Umlaute mit Windows.DrawText
Zitat:
Delphi-Quellcode:
, da ich glaube, dass der Font des Canvas bei jedem Zeichnen mit genau diesem Font überschrieben wird.
DbGrid1.Font
Gruß, Sven |
AW: Umlaute mit Windows.DrawText
Zitat:
Die Schriftfarbe kann man aber zB verändern.. nur die Größe nicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 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