2011-01-04 11 views
6

L'IDE Object Inspector mostra le proprietà TColor con un ColorBox a discesa e il colore può essere selezionato per nome - clBlack ecc., Come definito nell'unità Grafica. Il problema è che i colori clWeb definiti anche nell'unità grafica non sono presenti e anche i colori personalizzati che definisco non sono presenti.Come posso fare in modo che Object Inspector mostri più valori di proprietà TColor?

Quindi, come posso estendere i colori definiti che sono selezionabili in Object Inspector?

PS Delphi XE

+0

I colori mostrati per la proprietà 'Color' di * altri * controlli, oltre a quello che hai scritto? Questa è una domanda sul componente personalizzato o su come aggiungere nuovi colori in generale? –

+0

La stessa lista colori è presente su, ad esempio, un TColorBox rilasciato su un modulo VCL. I colori definiti personalizzati sono presenti nella finestra di completamento del codice nell'editor, ma non sono presenti nell'Object Inspector. – HMcG

+0

Vedo. Poiché la tua domanda non è correlata al tuo componente personalizzato, ho rimosso quella parte della tua domanda. Inoltre, la finestra di completamento del codice ti mostra i colori 'clWeb' perché mostra davvero * tutte * le costanti integer - hai appena digitato' cl' prima di guardare l'elenco. 'TColor' è solo un numero intero; non c'è nulla di intrinsecamente speciale in queste costanti. È l'editor di proprietà 'TColor' che consente di visualizzare quei valori specifici. –

risposta

1

vorrei provare a derivare una classe da TColorProperty (VCLEditors unità) e ignorare GetValue/GetValues ​​/ SetValue. Vedi here per una discussione dettagliata.

Modifica: Il mio collegamento originale è stato interrotto. Prova invece la discussione Custom colors in Delphi 7 (in borland.public.delphi.vcl.components.writing.general).

+0

Ah, sembra promettente. Grazie. – HMcG

+0

@UlrichGerhardt - Quel collegamento ora è rotto. Va a una pagina Embarcadero che dice "Il messaggio specificato [93199] non è stato trovato." –