Hallo Delphi Experten,
ich möchte auf einem TPanel eine Matrix aus Elementen anzeigen, in etwa so wie ein Spreadsheet es mit seinen Zellen macht. Die Elemente sind teils Texte, teils Icons. Der User soll auf ein Element klicken, und dann soll eine onClick Routine das angeklickte Dings verpetzen.
Klingt einfach. Scheint aber ein Problem zu sein.
Mein erster Ansatz ging über ein TListView. Nach einiger Zeit habe ich zur Kenntnis nehmen müssen, dass man bei TListViews nur die Elemente in der ersten Spalte anklicken kann.
Trotz intensiver Sucherei habe ich keine Möglichkeit gefunden, die anderen Spalten „klickbar“ zu machen. Ich habe dann Lösungsansätze gefunden, wie man über HitTests und die Position des letzten Mausklicks das angeklickte Element „zu Fuß“ herausfinden kann, aber das Endresultat ist trotzdem unbefriedigend, z.B. deswegen weil man das angeklickte Element nicht vernünftig markieren kann - es wird immer die ganze Reihe im Listview markiert.
Nun experimentiere ich mit einem DBGrid Control. Das erste Problem taucht gleich am Anfang auf: das Control scheint darauf abgestellt, seine Ausgangsdaten aus einer Datenbank zu lesen. Dummerweise liegen meine Ausgangsdaten aber als Listen und als berechnete Werte vor.
Kann mich jemand mit der Nase zu einem Stück Code stellen wo gezeigt wird, wie man ein DBGrid ohne Datenbank betreibt, oder zu einer Komponente, die das was ich will kann - ganz ohne Datenbank?
Wieder mal thx,
AL