![]() |
TStringGrid, über mehrere Zellen malen
Hallo #,
basierend auf ![]() ![]() will ich über mehrere Zellen malen. Mein Code sieht so aus: c ist Kürzel für StringGrid.Canvas der DrawText-Versuch klappt auch nicht
Delphi-Quellcode:
Was mache ich denn falsch ?
(*
DrawText(c.Handle, PChar(Cells[ACol,ARow]), Length(Cells[ACol,ARow]), ARect, DT_CALCRECT or DT_CENTER); ARect.Right:= ARect.Right+ARect.Right; DrawText(c.Handle, PChar(Cells[ACol,ARow]), Length(Cells[ACol,ARow]), ARect, DT_LEFT or DT_NOPREFIX); *) SetTextAlign(c.Handle, TA_LEFT); c.TextOut(ARect.Left, ARect.Top, Cells[ACol,ARow]); Er schneidet den Text immer ab und zeigt ihn nur in der einen Zelle. < Edit: > Habe gerade diesen Link gefunden und werde es mal prüfen. ![]() < Edit2: > Der Link3 klappt ;) Jetzt wird aber immer noch die horizontale Linie gemalt. Das liegt aber am DefaultDrawing. Nehme ich das raus, sieht die Anzeige "doof" aus, weil die ganzen Linien fehlen ;( Heiko |
Re: TStringGrid, über mehrere Zellen malen
Du kannst grundsätzlich immer nur eine Zelle zeichnen.
Text, der über zwei Zellen reichen soll muss in zwei Zeichenvorgängen auf den Canvas gebracht werden. |
Re: TStringGrid, über mehrere Zellen malen
Vielleicht klappt es ja, vor dem zeichnen mit SelectClipRgn das clipping abzuschalten, bzw. die Region zu erweitern?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20: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