Autor Beitrag
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Fr 21.03.03 23:22 
Hallo Leute,
da ich für mein letztes großes Projekt das TStringgrid stark erweitern musste, habe ich mich entschlossen nun die Komponente zu erstellen.
Dieses Stringgrid (CBStringgrid) unterstützt zur Zeit mehrere Objekte in der Property Objects, des weiteren wird das CBStringgrid um die Funktion für disjunktes selektieren (Strg+Klick) mehrerer Zellen erweitert.

Folgende Eigenschaften sind zur Zeit neu

ausblenden Quelltext
1:
2:
3:
4:
procedure addObject(ACol, ARow: Integer; AObject: Pointer);
property Lists[ACol, ARow: Integer]: TList read getLists;
property CBObjects[ACol, ARow, AIndex: Integer]: TObject read getCBObjects write setCBObjects;
property CBObjectsCount[ACol, ARow: Integer]: Integer read getObjectsCount;


- addObject fügt zu einer Zelle ein Object zu. Das hinzugefügte Object befindet sich in der Liste, die in der Eigenschaft Objects des (Basis-)Stringrids abgelegt wird.
- Lists ist die erweiterte property Objects. Liefert den direkten Zugriff auf ein TList Objekt
- CBObjects bietet direkten Zugriff auf die einzelnen Objekte, die in einer -durch ACol, ARow identifiziert - Liste vorhanden sind. Wenn der übergebene Index größer als die maximale Anzahl der Items in dem Feld ist, wird eine Accessviolation ausgelöst. Der Fehler muss also vom programmierer gehandelt werden.(Die erste alternative war, daß immer das letzte element in der angegebenen Liste zurückgeliefert wird)
- CBObjectsCount liefert die Anzahl der Items in der durch ACol, ARow identifizierten Liste zurück.

kommende features:
- multiselect disjunkter Zellen
- erweiterte Paintoptions, mehrere Objekte in einer zelle? Ein Objekt in einer Zelle

Und hier ist der Link (freeware, Opensource)
www.cenbells.de/delphi/CBStringGrid.pas

Es würde mich interessieren, was ihr von einer solchen Komponente haltet, und welche features ihr Euch noch wünscht.
Solltet Ihr Fehler finden, wäre ich Euch dankbar, wenn Ihr diese hier posten könntet.

Gruß
Ken