![]() |
DrawGrid - Zeilen einfügen
Hallo
Ich möchte in einen DrawGrid eine Zeile mit Text und Bilder in den Spalten einfügen. Dazu habe ich mir eine Prozedur geschrieben die das ganze konfortabel für mich übernehmen sollte:
Delphi-Quellcode:
Das klappt soweit auch, bis auf grafische Fehler. Ich kann mir auch vorstellen warum: Da man eigentlich die Zeilen im OnDrawCell Ergeignis des Grids einfügen soll?!
procedure GridInsertRow(Cell1, Cell2: string);
var posRow: integer; Rectangle: TRect; begin posRow:= DrawGrid1.RowCount - 1; DrawGrid1.DefaultDrawing:= false; // Spalte1 Rectangle:= DrawGrid1.CellRect(0,posRow); DrawGrid1.Canvas.TextOut(Rectangle.Left,Rectangle.Top,Cell1); // Spalte2 Rectangle:= DrawGrid1.CellRect(1,posRow); DrawGrid1.Canvas.TextOut(Rectangle.Left,Rectangle.Top,Cell2); end; Ich möchte eigentlich "bloß" Spalten zur Laufzeit hinzufügen. Wie kann ich das am klügsten anstellen? Da der obere Code nur bedingt Funktioniert. Vieln Dank |
Re: DrawGrid - Zeilen einfügen
Hallo.
Du hast schon den richtigen Verdacht. Deine Routine sollte nur die Dimensionierung (ColCount, RowCount) des Grids korrigieren. Die Ausgabe erledigst du im Ereignis OnDrawCell(). Gute Nacht marabu |
Re: DrawGrid - Zeilen einfügen
Nabend.
Ich hab da grad nen leichten "Hänger" weil ich mir nicht vorstellen kann, wie ich auf da Ergeignis OnDrawCell zur Laufzeit zugreifen soll. Vielleicht denk ich auch grad nur irgendwie quer ^^ Könntest du mir vielleicht ein kleines Codebeispiel geben? Also wie ich da mit meiner PRozedur jetzt in Einklang bringe ..?! Vielen Dank. |
Re: DrawGrid - Zeilen einfügen
Das verstehe ich jetzt nicht. Du verwendest ein DrawGrid und weißt nicht wie du mit dem Ereignis OnDrawCell() umgehen musst?
Freundliche Grüße vom marabu |
Re: DrawGrid - Zeilen einfügen
Hallo
Also ich wollte eine Tabelle haben in der immer ein Logeintrag plus Symbol rein sollte. Ich dachte das das DrawGrid die richtige Wahl ist. Allerdings bin ich jetzt auf ein ListView (thx Gimbar ;) gestoßen. Dies erledigt genau die Aufgaben. die ich mir vorgestellt habe, und ist anscheinend auch genau dafür konzipiert ;o) Vielen Dank trotzdem *g* |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21: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 by Thomas Breitkreuz