FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Cambiar estilo de Tabsheet
Hola, alguien sabe cómo se puede cambiar el estilo, color de fondo, fuente, etc. en un TabSheet. O si hay que usar otro componente.
He cambiado el color de fondo de un formulario, pero la lengüeta del tab mantiene el color original. Gracias y un saludo. |
#3
|
|||
|
|||
Hola, y gracias por tu ayuda.
pero, ¿Existe alguna manera sin usar un componente externo? por curiosidad... Saludos. |
#4
|
||||
|
||||
Hola, pintando a mano si se puede, debes colocar la propiedad OwnerDraw a True y utilizar el evento OnDrawTab.
Ahora para que se vea mas bonito, pones el PageControl dentro de un panel con Align=alClient y le das un color mas bajo al panel (en nuestro ejemplo un amarillo mas bajito), así tomara ese color el pagecontrol y cuando se ingrese a un tabsheet se maracara todo del color amarillo. El unico problema que veo es que la primera vez no funciona, tienes que entrar a un TabSheet para que despues tenga ese efecto. Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#5
|
|||
|
|||
Gracias por la respuesta.
Voy a probar todo lo que has explicado. Saludos. |
#6
|
||||
|
||||
Cita:
// Saludos |
#7
|
||||
|
||||
Cita:
Ahora te explico, mi problema esta en que no solo quiero pintar el Tab quiero que se pinte todo el TabSheet cuando este activo, lo que se me ha ocurrido primero es poner un Panel del color que he pintado el Tab pero no se veía muy bien. Con esta línea de codigo:
El TabSheet toma como color de fondo el color del Tab y se ve mejor que con un Panel. Mi problema esta ahí, cuando se ejecuta la primera vez siguiendo el ejemplo de arriba esta pintado con el color amarillo bajito cuando debería estar con el color amarillo fuerte ya que esta activo, pero cuando activas otro Tab no hay problema te lo pinta bien. Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#8
|
||||
|
||||
Creo que no estoy entendiendo. En un PageControl, lo único que se ve son: los bordes, la pestaña y la ficha actual. Entonces, el color que tenga una ficha cuando no está activa es irrelevante, por lo que puedes establecer el color desde el inicio (por ejemplo, en el OnCreate del formulario) con el mismo código que ahora usas.
Por otra parte, el evento OnDrawTab está pensado exclusivamente para dibujar la pestaña, y no otras partes del PageControl. Por eso, el que modifiques la propiedad PageControl1.Pages[TabIndex].Brush.Color no tiene ningún efecto inmediato, pues no se dibuja la ficha en ese evento. Pero como sí cambias la propiedad, la próxima vez que se redibuja la ficha, se muestra ya con el color que le hayas asignado. Este redibujado de la ficha se dará, desde luego, cuando actives la ficha, pero, aún sin cambiar de ficha activa, si, por ejemplo, minimizas la aplicación, al restaurarla, verás ya el color amarillo. // Saludos |
#9
|
||||
|
||||
Cita:
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Se puede cambiar el estilo de un boton?¿?¿? | douglas | OOP | 6 | 23-09-2008 18:45:58 |
Problema al cambiar estilo en windows | aog | Varios | 3 | 26-10-2007 17:16:06 |
Evento para cambiar Tabsheet | creus | Varios | 2 | 05-02-2007 11:41:12 |
Cambiar el estilo de fuente de un edit | creus | Varios | 2 | 21-10-2006 20:34:47 |
cambiar el estilo del texto de MessageBox? | Er_Manué | Varios | 1 | 16-12-2004 14:49:02 |
|