Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Imagen para un componente de la paleta en Delphi 2009 (https://www.clubdelphi.com/foros/showthread.php?t=66052)

gandalf85 29-01-2010 20:13:07

Imagen para un componente de la paleta en Delphi 2009
 
Alguien sabe como poner una imagen a un componente que hemos creado nosotros, para que aparezca con esa imagen en la paleta de componentes en vez del icono por defecto que le da Delphi. Lo he hecho igual que lo hacia en Delphi 7 pero no funciona en Delphi 2009:

Es decir, he hecho esto:
Crear un archivo .DCR con el mismo nombre con que se ha salvado la unidad que contiene el componente.
Dentro del DCR he creado un bitmap de 24x24px le he puesto el mismo nombre que al componente pero en mayúsculas.
He guardado el fichero *.dcr en el mismo directorio que la unidad *.pas

Al González 29-01-2010 21:05:22

Cita:

Empezado por gandalf85 (Mensaje 352298)
...archivo .DCR con el mismo nombre con que se ha salvado la unidad que contiene el componente...

Una pregunta, ¿en esa misma unidad se encuentra tu procedimiento Register?

delphi.com.ar 29-01-2010 21:18:30

No doy nada por sabido, por lo que digo: el DCR debe ser una archivo de recursos, puedes hacerlo a la antigua, creando un archivo .RC con una estructura similar a:
Código:

TMYEDIT RCDATA "c:\......\archivo.bmp"
Y compilarlo:
Código:

brc32 -r -v MiArchivo.rc MiDestino.res
Si tienes un paquete, puedes tener todas las imágenes en un único archivo donde el nombre del RC_DATA debe ser el mismo que el nombre de la clase. Los que tengo generados los tengo todos con mayúsculas, y son bitmaps de 24x24x4bits donde el primer pixel del bitmap (arriba a la izquierda) es el que es considerado "transparente". No se si esto último que digo es un requerimiento, pero así los tengo funcionando.
Si es un único componente, debes cumplir con lo que dice Al González, y es importante que la estructura del recurso sea similar a lo que comenté anteriormente.

Saludos!

gandalf85 31-01-2010 19:01:56

Cita:

Empezado por Al González (Mensaje 352302)
Una pregunta, ¿en esa misma unidad se encuentra tu procedimiento Register?

Si se encuentra el procedimiento register.

Todos los componentes que tengo en el paquete tienen el procedimiento register por lo que aparecen en la pestaña que yo le he indicado a la hora de registrar el componente. Lo unico que no consigo asociarlos con un bitmap y sale el que da Delphi por defecto.

gandalf85 31-01-2010 20:17:20

Ya lo he conseguido,
En vez de hacer un Component Resource File (.dcr) he creado un Resource File (.res). Dentro del .res el bitmap siguiendo los mismos pasos que cuando lo hacia en .dcr y al instalar el paquete ya salia mi componente con el bitmap que habia creado.

Cita:

Empezado por delphi.com.ar (Mensaje 352303)
...Los que tengo generados los tengo todos con mayúsculas, y son bitmaps de 24x24x4bits donde el primer pixel del bitmap (arriba a la izquierda) es el que es considerado "transparente". No se si esto último que digo es un requerimiento, pero así los tengo funcionando...

Te comento que no es un requerimiento que sea de 4bits, puede ser de hasta un maximo de 256 colores, es decir 8bits.
El que acabo de hacer yo es de 24x24x256colores y me ha funcionado al fin...

Ahora me toca diseñar imagenes para los componentes, Ya que como no me reconocia las imagenes que queria poner en la paleta siempre los dejaba con el icono por defecto

Saludos y doy el tema por cerrado


La franja horaria es GMT +2. Ahora son las 12:30:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi