Code:
windows.DrawText(DbGrid1.Canvas.Handle, pchar('äää'),-1, @crect, DT_WORDBREAK or DT_TOP or DT_LEFT);
Erste Frage: Warum verwendest du
Windows.DrawText
statt
DbGrid1.Canvas.TextRect
? Letzteres unterstützt nämlich auch Zeilenumbrüche, wenn du eine
TTextStyle
-Variable mit
.WordBreak := True
verwendest.
Zweite Frage (falls du tunlichst bei
DrawText
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
PChar('äää')
zu
PChar(UTF8ToAnsi('äää'))
erweitern.
Gruß,
Sven