Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Eigene Stringgrid Kompoente (https://www.delphipraxis.net/188479-eigene-stringgrid-kompoente.html)

michael.cohrs 8. Mär 2016 11:08

Eigene Stringgrid Kompoente
 
Hallo zusammen,
ich habe eine Komponente eines Stringgrids mit Checkboxen erstellt. Nun möchte ich gerne das der Entwickler im Objektinspektor einstellen kann in welchen Spalten die
Checkboxen angezeigt werden sollen.
Leider habe ich gerade KEINE Idee wie ich das anstellen soll.:cry:

Hat jemand eine Idee??

Viele Grüße

Michael

himitsu 8. Mär 2016 12:32

AW: Eigene Stringgrid Kompoente
 
Eine TCollection als Property CheckBoxes in die Komponente
und da rein je Spalte ein TCollectionItem mit einem Property Visible (Boolean).

Oder du baust dir einen eigenen "Editor", welcher beim Kontextmenü der Komponente im FormDesigner und/oder beim Property CheckBoxes registriert wird.
http://docwiki.embarcadero.com/RADSt...key_Components

michael.cohrs 8. Mär 2016 12:43

AW: Eigene Stringgrid Kompoente
 
Hallo himitsu,

Vielen Dank für die Antwort nur.....

ich verstehe nicht genau was Du meinst, hättest Du vielleicht ein kleines Beispiel
für mich?

Vielen Dank

Michael

himitsu 8. Mär 2016 12:59

AW: Eigene Stringgrid Kompoente
 
Beispiele:
TDBGrid > Kontextmenü > Spalteneditor
TListView, TTreeView > Kontextmenü > Eintrageditor
TGridPanel > Property ColumnCollection (eine TCollection)
TCategoryButtons > Property Categories
TLabel > Property Font > der Knopf [...]
und natürlich siehe die verlinkte Seite

Die TCollection hat den Vorteil, dass Delphi dafür bereits einen Standardeditor besitzt und man Diesen nicht selber schreiben muß.

stahli 8. Mär 2016 13:01

AW: Eigene Stringgrid Kompoente
 
Du musst sicher noch genauer erklären, was Du genau willst.

VCL oder FMX?
Wie werden die Daten in das Grid gefüllt?
Wie werden die anderen Zellenformate definiert?

Grundsätzlich könntest Du mal bezüglich Komponenteneditor nachlesen.
Das ist aber alles etwas komplexer.

stahli 8. Mär 2016 13:50

AW: Eigene Stringgrid Kompoente
 
Hallo Michael,

wie Du in Deiner pm geschrieben hast, arbeitest Du mit D6 für VCL und überschreibst DrawCell, um die Checkboxen malen zu lassen.

Bisher hast Du Spalte 0 fix festgelegt, damit diese als Checkbox gezeichnet wird.

Als einfachste Lösung würde ich folgende wählen.
Füge eine published String-Property hinzu mit Setter.

Dann kannst Du den String zerlegen und analysieren, welche Spalten dort angegeben sind (entweder Spaltennummern oder Spaltennamen): "0,5,9" oder "VIP, reich"

Im Setter prüfst Du, ob der String geändert wurde, analysierst ihn und legst die ermittelten Spaltennummern in einem Array ab.

So kommst Du leicht ohne Propertyeditor oder Komponenteneditor aus.


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