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 Objekte in TStringGrid darstellen? (https://www.delphipraxis.net/70424-objekte-tstringgrid-darstellen.html)

mjenke 30. Mai 2006 08:13


Objekte in TStringGrid darstellen?
 
Guten Morgen, alle miteinander!


Ich hätte da mal eine Frage zu den Objects in TStringGrid. Für jede Zelle des StringGrid wird mir auch der Platz für ein Objekt zur Verfügung gestellt ( Grid.Objects[Col,Row] ).

Kann mir jemand erklären, wie ich das sinnvoll nutzen kann? Ich würde beispielsweise gerne - sozusagen wahllos - in unterschiedlichste Zellen CheckBoxen einbauen. Kann ich Grid.Objects dazu benutzen? Gezeichnet werden sie an der Stelle zunächst einmal nicht (habe ich ausprobiert).

Gibt es also eine einfache Methode, um dem StringGrid das Zeichnen meiner (z.B.) CheckBoxen aufzubürden, ohne dass ich das DrawCell anpacken muss?


Für Anregungen und Tipps wäre ich dankbar!

:-D

Matthias

mquadrat 30. Mai 2006 08:43

Re: Objekte in TStringGrid darstellen?
 
Die Objects dienen nur als Container für irgendetwas, was du im Grid hinterlegen möchtest (z.B. um beim Sortieren nicht den Zusammenhang zwischen Zeile und deinem Objekt zu verlieren). Sie haben nichts mit der Anzeige zu tun.

Die Frage mit den Checkboxen kann ich dir nicht beantworten, ich benutzte selber immer das TAdvStringGrid von TMS und nicht das Standardgrid.,

Hansa 18. Jan 2007 00:39

Re: Objekte in TStringGrid darstellen?
 
Was man nicht alles entdeckt. :P Da hat doch irgendwann tatsächlich mal einer diese Geschichte mit den Objects entdeckt. Es ist nicht zu fassen. :mrgreen: Das ist ein mächtiges Werkzeug, mit dem sich viel machen lässt.

Delphi-Quellcode:
  TEditObject = class(TObject)
    MouseSelect : boolean;  // SelectCell möglich ?
    Color       : TColor; // Kommentar wohl überflüssig
...
  end;
Da das echt wichtig und vor allem brauchbar ist, schreibe ich mal Antwort auf alten Thread. Soll eine Zelle als Checkbox dargestellt werden, dann hindert niemand einen daran, in dem Object noch ein Feld z.B.:
Delphi-Quellcode:
IsCheckBoxCell : boolean;
unterbringen. Da es sich hierbei allerdings um eine visuelle Geschichte handelt, kommt man um das OnDrawCell wohl kaum rum.

Ich lese bspw. ein DB-Feld und falls es ein boolean ist, dann wird das TObject für CheckBox true gesetzt und eine Checkbox mit OnDrawCell gezeichnet. Ansonsten eben nicht. Bevor jetzt einer denkt, das ginge alles automatisch : Compiler-Magic ist in dem Bereich sehr begrenzt. Da ist Handarbeit gefragt, sonst kracht es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 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