FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Botón con Imagen y color.
Hola, aunque parezca mentira no consigo la forma de poner un botón de un determinado color y que contenga una imagen.
He encontrado en http://www.latiumsoftware.com/en/delphi/00043.php un TButton con color, pero claro no puedo insertar imagen. Alguién sabe como puedo insertar color en un TBitBtn. Muchas Gracias. |
#2
|
|||
|
|||
Boton con imagen y color
Si no tienes mas remedio, lo puedes simular con un TPanel, insertandole la imagen que quieras y éste si que tiene color.
Saludos. |
#3
|
|||
|
|||
Debes poner un panel, sin bordes, del color que quieras. Luego pega dentro del panel un TSpeedButton con alineacion taClient, y asignale la propiedad Flat a True.
De esta forma te quedara un boton con color, texto e imagen. Aunque con la propiedad flat. Esperemos que te sirva. Saludos |
#4
|
|||
|
|||
Casi me vale esto último.... pero sigo teniendo un problema: Los SpeedButton no tienen foco, y aunque le ponga el taborder del panel = true, cuando se para en el panel en realidad no nos damos cuenta que el foco está ahí, ya que está debajo del speedButton.
entonces.... |
#5
|
|||
|
|||
Entonces....
toma un panel, y en el evento OnMouseDown le sacas los bordes y en el OnMouseUp se los asignas de nuevo. Asi te quedará algo parecido a un boton, con el comportamiento "parecido" a un boton. Eso si, en el evento click asigna la funcionalidad que le debes dar al boton. Saludos. |
#6
|
|||
|
|||
Si, eso lo había pensado y la verdad es que queda bien, pero claro, imagínate trabajar así con muchos botones... es un tostón.....estaba pensando en hacer un template o algo por el estilo, pero tengo el problema que tampoco es cómodo para cambiar el tamaño del botón... ya que cuando se selecciona lo haces del speedButton y éste no puede sobrepasar al padre (que sería el panel)
|
#7
|
|||
|
|||
La ultima opcion que habia dado, era "sin" utilizar un speedButton, toda la funcionalidad la tiene el propio panel.
Ahora, si me dices que necesitas utilizar en varias oportunidades el mismo tipo de boton, lo que puedes hacer es un nuevo componente, que herede de un panel, y le asignas las propiedades que te explique y listo. Saludos. |
#8
|
|||
|
|||
O puedes buscar en www.torry.net
Ahí seguro encuentras botones con el comportamiento que quieres... Saludos... |
#9
|
|||
|
|||
tan facil como crear el componente y copiar el codigo que ponen en la pagina que das
http://www.latiumsoftware.com/en/delphi/00043.php y ya que guardas el el componente, nada mas es necesario instalar el componente el cual se instala en la pestaña de samples
__________________
Toda Teoria es Gris mas es verde en Arbol de Dorados Frutos que es la Vida (Goethe) |
#10
|
|||
|
|||
No soy amigo de instalar componentes externos (y mi empresa no quiere gastar dinero), pero en ocasiones hace falta.
Aquí tienes un conjunto de componentes (gratuitos) que probé y me gustaron: lbButtons Suite --> con un lbStaticText, lbButton y lsSpeedButton http://www.casadelphi.com/index.php?mod=c_botones Hasta luego.
__________________
Rafita. |
#11
|
||||
|
||||
Bueno kukin, parece que no quieres pasar mucho trabajo, pero yo lo he hecho de esta forma también:
1.- He editado imágenes en editores y he hecho los estados de los botones. 2.- Inserto un TImage y le pongo la imagen del estado normal. 3.- Inserto otros TImage ocultos con los otros estados. 4.- Cuando paso el puntero del Mouse entonces le asigno que tome como estado la imagen "X". 5.- Cuando hagla click que tome como estado la imagen "Y" y que ejecute entonces lo que yo quiero. Dime si no es más engorroso esta forma, claro yo lo hago así porque se ve más binoto y con más estética y la aplicación que estoy haciendo sea para uso de otras personas que no sea yo porque cuando es para mi lo hago como quiera porque no lo va a utilizar más nadie. Ok? |
|
|
|