Domanda

per il mio TCollection discendente voglio estendere l'editor proprietà della raccolta. Voglio vedere più colonne per le altre proprietà della mia TCollectionItem. E io sono un fortunato, perché è abbastanza facile. L'unica cosa che voglio fare è stato quello di ignorare questi tre metodi

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

per recuperare il numero di colonne, il titolo di una colonna e il valore di una colonna per un elemento della collezione.

Ora voglio modificare le celle degli attributi. È divertente fermarsi qui e devo scrivere un editor di collezione completa da solo (forse come una copia o desendant di TCollectionEditor in ColnEdit.pas unità)?

spero che ci sia qualcosa di più semplice ma per il resto ho interessante esempio di costruzione di un complesso TCollectionEditor.

Ciao Heinz Z.

È stato utile?

Soluzione

L'intento è quello di fornire a coloro colonna in più attributi come proprietà pubblicati sul del loro TCollectionItem. Così, quando si seleziona la voce, viene selezionato nella finestra di ispezione oggetto in cui è possibile modificare e cambiare i valori.

Basta creare un discendente di TCollectionItem e pubblicare le proprietà che rappresentano gli attributi extra che si desidera essere modificabile. Assicurarsi che quando si costruisce il discendente TCollection, si specifica il tipo di TCollectionItem creare un'istanza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top