![]() |
Koordinatenangabe in Canvas.Textout
Hallo liebe Delphi-Freunde,
ich möchte in einen Drawgrid über Canvas.Textout in die einzelnen Zellen einen String eintragen.
Delphi-Quellcode:
Nur leider wird dabei immer nur in die erste Zelle ein String eingetragen. Anscheinend kann man nicht direkt über die Spalten/Zeilennummer auf eine Zelle zugreifen? Habt ihr einen Rat?
DrawGridMain.Canvas.TextOut(Spalte, Zeile, output)));
|
AW: Koordinatenangabe in Canvas.Textout
Bei einem Drawgrid darf man grundsätzlich nur innerhalb des Event OnDrawCell zeichnen.
Hier ein Beispiel für die Beschriftung eines Schachbretts
Delphi-Quellcode:
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if ACol = 0 then begin // Beschriftung vertikal if ARow <> 0 then DrawGrid1.Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+2, IntToStr(ARow)); end else if ARow = 0 then begin // Beschriftung horizontal DrawGrid1.Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+2, chr(Ord('A')+ACol-1)); end end; |
AW: Koordinatenangabe in Canvas.Textout
Mit rect.left+2 und rect.top+2 funktioniert es danke sx2008.
Ich verstehe jedoch noch nicht, was da genau passiert. Wie ich es verstehe, wird so die Position innerhalb der Zeile/Spalte angegeben. Wenn ich rect.top+2 jedoch gegen jedoch gegen rect.bottom austausche wird mir gar nichts mehr in den Zellenangezeigt. Wieso das? |
AW: Koordinatenangabe in Canvas.Textout
Das Grid lässt das Zeichnen nur innerhalb des übergebenen Rects zu, welches genau der Zelle entspricht, für die das Event gerade ausgelöst wurde. Du kannst in dem Event nicht ausserhalb dieser Zelle malen, und wenn die obere linke Ecke eines Textes am unteren Rand der Zelle liegt, kann der Text nur komplett ausserhalb der Zelle sein. Das Grid schneidet das weg.
|
AW: Koordinatenangabe in Canvas.Textout
Ah habs verstanden, das macht Sinn. THX
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 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