En Delphi, Botón e Icono

Jean-Marie DUBASIK -  
 php -
Hola,

Quisiera poner íconos en mis botones de comando.
¿Es posible?
¿Un consejo, por favor?
Gracias por tu ayuda
Jean-Marie DUBASIK

5 respuestas

sebsauvage Mensajes publicados 33284 Fecha de registro   Estado Moderador Última intervención   15 684
 
Puedes usar el TSpeedButton o el TBitBtn
(mira en la ayuda de Delphi).

Ambos permiten poner la imagen o el ícono de tu
elección, con o sin texto.
1
Jean-Marie DUBASIK
 
Gracias por tu ayuda.
Sin embargo, y lo reconozco, soy un poco pesado, no veo la posibilidad de agregar archivos .BMP, pero me gustaría poner archivos .ICO.
¿Puedes, si lo deseas, especificar cómo se hace para poner .ICO?
Gracias.
1
sebsauvage Mensajes publicados 33284 Fecha de registro   Estado Moderador Última intervención   15 684
 
Puedes convertir tus BMP a ICO con diferentes programas.
Por ejemplo, XNView (que puede leer más de 300 formatos de imágenes diferentes... un excelente programa francés que te recomiendo), o más simple: muestra el ícono en la pantalla, presiona la tecla 'ImprPant', guarda el portapapeles en BMP...

XnView: http://www.xnview.com/
(¡ah, mira! Se ha comprado un nombre de dominio, está bien).
0
Jean-Marie DUBASIK
 
Hola,
Gracias por tomarte la molestia de responder.
De hecho, lo que necesito es poner archivos .ICO y no .BMP. Los .BMP son demasiado pesados y además tengo archivos .ICO.
Quizás el programa XNVIEW transforme los *.ICO en *.BMP pero tengo miedo del espacio que eso va a ocupar en el programa.
0
sebsauvage Mensajes publicados 33284 Fecha de registro   Estado Moderador Última intervención   15 684
 
Técnicamente, una misma imagen ocupará prácticamente el mismo espacio en ICO y BMP (los dos formatos no están comprimidos de todos modos).

Puedes usar tranquilamente el formato BMP.

Sin embargo, una vez que tu EXE esté terminado, puedes comprimirlo (por ejemplo, con el excelente UPX: http://upx.tsx.org).
0
php
 
Hola JMD

Si insistes en usar íconos, puedes utilizar las
ToolBar en la paleta Win32 asociadas a una ImageList siempre que uses Delphi 4 (ignoro si funciona con versiones anteriores)

Las ToolBar son más pesadas de manipular que los simples botones porque, como su nombre indica, están diseñadas para gestionar barras de herramientas. Pero funciona incluso con un solo botón.

Así que primero coloca un objeto TImageList en tu formulario.
¡Atención! todas tus íconos deben tener el mismo tamaño.
Antes de cargar ningún ícono en la lista, primero modifica las propiedades Height y Width para adaptarlas a las dimensiones de tus íconos.

Luego, haz doble clic en tu lista de imágenes y carga tus íconos

Ahora coloca un objeto ToolBar en tu formulario.
A continuación, vincula su propiedad Image a tu lista de imágenes ImageList1, por ejemplo.
Luego haz clic con el botón derecho en el ToolBar [New button]
El primer botón hereda automáticamente el primer ícono que has almacenado en tu lista de imágenes, el segundo botón el segundo, y así sucesivamente. Naturalmente, puedes modificar la imagen mostrada por el botón cambiando su propiedad ImageIndex: ponla en -1 si no quieres imagen.

Incluso puedes definir una segunda lista de imágenes con íconos que representan los mismos botones deshabilitados y asignar esta lista a la propiedad DisabledImages del ToolBar. Así, cuando la propiedad Enabled de uno de los botones cambia, la imagen que muestra también cambia.

Lo mismo ocurre con la propiedad HotImages del ToolBar, pero esta vez la imagen del botón cambia cuando el mouse pasa sobre el botón.

Y eso es todo
@+
Philippe
0