Sto scrivendo un editor di componenti personalizzato, essenzialmente simile all'editor TActionList
in quanto consente la creazione di sotto componenti. L'editor dispone di pulsanti per aggiungere/eliminare componenti.Designer Delphi, il componente è ereditato?
Ora, vorrei sapere se il componente selezionato è ereditato, in modo da poter disabilitare il pulsante Elimina. Non ho trovato alcun membro del genere in IDesigner
o interfacce correlate.
Se mi basta andare avanti e cancellare dalla Designer.DeleteSelection(True);
tanto sono un'eccezione:
selezione contiene un componente, xxx, introdotto in un degli antenati e non può essere eliminato.
Quale non è male, ma preferirei disabilitare il pulsante Elimina in primo luogo.
È possibile accedere all'elenco dei propri articoli quando li si seleziona nella visualizzazione elenco (?) E chiedere per ciascun elemento se "InheritsFrom" è una determinata classe. – TLama
@TLama No, non è quello. Daniel parla dell'ereditarietà visiva, come indicato dalla parola chiave ereditata nei file .dfm. –
Sarei sorpreso se fosse possibile. Prova a fare ciò che descrivi con un oggetto 'TActionList'. Il messaggio di errore è: 'Impossibile rinominare il componente Action1, il componente è stato introdotto in un modulo antenato. '. Ma poi clicca sull'azione e sparisce comunque e c'è un altro messaggio di errore: * Argomento fuori dall'intervallo *. Quindi, l'IDE non può farlo bene! –