2011-01-04 9 views
6

El Inspector de Objetos IDE muestra las propiedades de TColor con un ColorBox desplegable, y el color se puede seleccionar por nombre - clBlack, etc, como se define en la unidad de Gráficos. El problema es que los colores clWeb también definidos en la unidad Graphics no están presentes, y los colores personalizados que defino tampoco están allí.¿Cómo hago que el Inspector de Objetos muestre más valores de propiedad TColor?

Entonces, ¿cómo extiendo los colores definidos que se pueden seleccionar en el Inspector de Objetos?

PS Delphi XE

+0

¿Se muestran los colores para la propiedad 'Color' de * otros * controles, además del que usted escribió? ¿Es esta una pregunta sobre su componente personalizado, o sobre cómo agregar nuevos colores en general? –

+0

La misma lista de colores está presente, por ejemplo, en un TColorBox que se coloca en un formulario VCL. Los colores personalizados están presentes en la ventana de finalización del código en el editor, pero no están presentes en el Inspector de Objetos. – HMcG

+0

Ya veo. Como su pregunta no está relacionada con su componente personalizado, eliminé esa parte de su pregunta. Además, la ventana de Finalización de Código te muestra los colores 'clWeb' porque realmente te muestra * todas * constantes enteras; ya has escrito' cl' antes de mirar la lista. 'TColor' es solo un entero; no hay nada inherentemente especial sobre esas constantes. Es el editor de propiedades incorporado 'TColor' que sabe mostrar esos valores específicos. –

Respuesta

1

me gustaría tratar de derivar una clase de TColorProperty (VCLEditors unidad) y anular GetValue/GetValues ​​/ FijarValor. Ver here para una discusión detallada.

Editar: Mi enlace original está roto por ahora. Pruebe el hilo Custom colors in Delphi 7 (en borland.public.delphi.vcl.components.writing.general) en su lugar.

+0

Ah, eso parece prometedor. Gracias. – HMcG

+0

@UlrichGerhardt - Ese enlace ahora está roto. Va a una página de Embarcadero que dice "No se encontró el mensaje especificado [93199]". –

Cuestiones relacionadas