Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   &-Zeichen wird mit DrawText() falsch dargestellt (https://www.delphipraxis.net/164719-zeichen-wird-mit-drawtext-falsch-dargestellt.html)

Pussyranger 26. Nov 2011 17:11

&-Zeichen wird mit DrawText() falsch dargestellt
 
Hallo,
in meinem StringGrid wird wird in der DrawCell()-Prozedur folgender Code aufgerufen:
Delphi-Quellcode:
DrawText(StringGrid1.Canvas.Handle,
         PChar((StringGrid1.Cells[ACol, ARow])),
         Length(StringGrid1.Cells[ACol, ARow]),
         R2, DT_WORDBREAK);
Wenn in der Zelle ein &-Zeichen steht, wird dieses dadurch als kleinen Unterstrich angezeigt.
Andere Zeichen (z.B. äöü:$) werden richtig angezeigt.
Woran liegt das?
LG,

Pussyranger

Luckie 26. Nov 2011 17:13

AW: &-Zeichen wird mit DrawText() falsch dargestellt
 
Schreib es mal doppelt. DrawText macht daraus wohl eine Schnellzugriffstaste, wie in Menüs und auf Schaltflächen.

Pussyranger 26. Nov 2011 17:18

AW: &-Zeichen wird mit DrawText() falsch dargestellt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für die schnelle Antwort!
Wenn ich den o.g. Quellcode zwei mal untereinander schreibe, wird das &-Zeichen immer noch nicht korrekt angezeigt.

Im Anhang befindet sich ein Bild auf dem man sieht, wie das Zeichen dargestellt wird.

daywalker9 26. Nov 2011 17:21

AW: &-Zeichen wird mit DrawText() falsch dargestellt
 
Luckie meint ein doppeltes &, also &&

Pussyranger 26. Nov 2011 17:32

AW: &-Zeichen wird mit DrawText() falsch dargestellt
 
Ah, wunderbar. Jetzt klappt es :thumb:
Danke! :-D

jbg 26. Nov 2011 17:44

AW: &-Zeichen wird mit DrawText() falsch dargestellt
 
Das wäre auch ohne Ändern des String gegangen, indem man DT_WORDBREAK noch mit DT_NOPREFIX or-ed.
Delphi-Quellcode:
DrawText(StringGrid1.Canvas.Handle,
    PChar(StringGrid1.Cells[ACol, ARow]),
    Length(StringGrid1.Cells[ACol, ARow]),
    R2, DT_WORDBREAK or DT_NOPREFIX); // <<<


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 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