Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DrawGrid - Zeilen einfügen (https://www.delphipraxis.net/69782-drawgrid-zeilen-einfuegen.html)

maddin4u 19. Mai 2006 20:56


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:
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;
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?!

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

marabu 19. Mai 2006 21:21

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

maddin4u 20. Mai 2006 02:57

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.

marabu 20. Mai 2006 19:20

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

maddin4u 22. Mai 2006 11:32

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 02:21 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