Ein Hallo an die Gemeinde,
ich hoffe, dass sich unter euch ein guter "teacher" befindet, der einmal die allgemeinen zeitlich funktionalen Abläufe bei der Benutzung eines StringGrids erklären kann.
Ich habe mir schon einige Foren und Threads angeschaut, wo es um die Arbeit mit StringGrids geht, jedoch fand ich eigentlich nichts, was mir die zeitlichen Abläufe zur Verständlichkeit verdeutlichen konnte.
Hauptsächlich geht es hierbei um:
- das Füllen einerseits (StringGrid.Cells[x,y]:='Wert')
- und Modifikationen (Zeichnen)
- Farbzuweisung einer bestimmten Zelle,
- ein Icon oder Bild in eine bestimmte Zelle,
- ein Objekt in eine bestimmte Zelle (z.B. Checkbox, Combobox etc.)
im OnDrawCell-Ereignis
Ich gehe davon aus, dass mit dem Füllen einer Zelle auch jedes Mal das OnDrawCell-Ereignis aufgerufen wird.
Aber wie genau funktioniert es, oder bzw. wie muss eine Routine erstellt werden, wenn bsw. in einer procedure FillGrid über eine for-Schleife bestimmte Text-Werte eingetragen werden, in bestimmten Zellen aber eine der obengenannten Modifikationen stattfinden sollen.
Wie müssen diese beiden Ereignisse [procedure zum Füllen] und die [Routine im OnDrawCell] miteinander verknüpft werden?
Beispiel: Grid leer (Ur-Zustand)
Code:
----------- ----------- ----------- -----------
|0,0 zelle 1|1,0 zelle 2|2,0 zelle 3|3,0 zelle 4|
----------- ----------- ----------- -----------
|0,1 zelle 5|1,1 zelle 6|2,1 zelle 7|3,1 zelle 8|
----------- ----------- ----------- -----------
|0,2 zelle 9|1,2 zelle10|2,2 zelle11|3,2 zelle12|
----------- ----------- ----------- -----------
Beispiel Endergebnis:
Code:
----------- ----------- ----------- -----------
| Text 1 | Icon 1* | Text 2 | Combobox 1|
----------- ----------- ----------- -----------
| rote Farbe| Text 3 | Edit 1 | Checkbox 1|
----------- ----------- ----------- -----------
| Icon 2* | Text 4 | Text 5 | Text 6 |
----------- ----------- ----------- -----------
* Icons sind beispielsweise in einer ImageList
Bisher fand ich eigentlich nur Code-Beispiele, wo z.B. eine ganze Reihe farblich geändert, oder in einer bestimmten Spalte ein Objekt (z.B. Bild) eingefügt worden.
Wäre echt cool, wenn es jemand mal so richtig einleuchtend erklären könnte.
Vielen Dank schon mal im Voraus.
LG, Jean P.