Frage

für meinen eigenen TCollection Nachkommen mag ich die Sammlung Eigenschaftseditor erweitern. Ich möchte mehr Spalten für andere Eigenschaften meiner TCollectionItem sehen. Und ich bin ein glücklicher, weil es ziemlich einfach ist. Das einzige, was ich tun mag, war es, diese drei Methoden außer Kraft setzen

TAttributeList = class(TOwnedCollection)
private
  ...
protected
  function GetAttrCount: Integer; override;
  function GetAttr(Index: Integer): string; override;
  function GetItemAttr(Index, ItemIndex: Integer): string; override;
public
  ...
end;

die Anzahl der Spalten abzurufen, den Titel einer Spalte und den Wert einer Spalte für ein Element der Sammlung.

Jetzt möchte ich die Attribut Zellen bearbeiten. Ist Spaß hier zu stoppen, und ich habe eine komplette Sammlung Editor von mir schreiben (vielleicht als Kopie oder desendant von TCollectionEditor in Einheit ColnEdit.pas)?

Ich hoffe, es ist etwas einfacher, aber sonst ich in den Beispielen von Build einer komplexen TCollectionEditor interessant.

Ciao Heinz Z.

War es hilfreich?

Lösung

Die Absicht hier ist, diese zusätzlichen Spalte Attribute veröffentlichten Eigenschaften bereitzustellen auf der TCollectionItem selbst ist. Also, wenn Sie das Element auswählen, sie in den Objektinspektor ausgewählt wird, in dem Sie können dann bearbeiten und die Werte ändern.

Nur ein Nachkomme von TCollectionItem erstellen und die Eigenschaften veröffentlichen, um die zusätzlichen Attribute stellen Sie editierbare sein wollen. Stellen Sie sicher, wenn Sie den TCollection Nachkommen konstruieren, Sie geben Sie Ihren TCollectionItem Typen instantiate.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top