Question

pour mon propre descendant de TCollection Je veux étendre l'éditeur de propriété de collection. Je veux voir plus de colonnes pour d'autres propriétés de mon TCollectionItem. Et je suis chanceux, car il est assez facile. La seule chose que je veux faire est de passer outre ces trois méthodes

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

pour récupérer le nombre de colonnes, le titre d'une colonne et la valeur d'une colonne pour un élément de la collection.

Maintenant, je veux modifier les cellules d'attribut. Il est amusant d'y séjourner et j'ai écrire un éditeur de collection complète par moi-même (peut-être une copie ou desendant de TCollectionEditor en ColnEdit.pas unitaires)?

J'espère qu'il ya quelque chose plus simple, mais sinon je intéressant dans les exemples de construction d'un complexe TCollectionEditor.

Ciao Heinz Z.

Était-ce utile?

La solution

Le but ici est de fournir les colonnes supplémentaires attributs que les propriétés publiées sur eux-mêmes de TCollectionItem. Ainsi, lorsque vous sélectionnez l'élément, il est sélectionné dans l'inspecteur d'objets où vous pouvez éditer et modifier les valeurs.

Il suffit de créer un descendant de TCollectionItem et publier les propriétés qui représentent les attributs supplémentaires que vous voulez être modifiable. Assurez-vous que lorsque vous construisez le descendant de TCollection, vous indiquez votre type de TCollectionItem à instancier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top