Ir al contenido


Foto

¿Cómo cambiar el color a un PageControl?


  • Por favor identifícate para responder
2 respuestas en este tema

#1 ramonrafe

ramonrafe

    Member

  • Miembros
  • PipPip
  • 24 mensajes
  • LocationEspaña

Escrito 14 noviembre 2009 - 06:29

Hola.
Utilizo el componente PageControl (Win32, en Delphi 7).
Y quiero destacarlo del color del fondo y no le encuentro la propiedad color por ningún lado. Ni al componente ni a los TabSheet que se crean dentro de él.
El problema que le veo es que no se puede diferenciar (visualmente) de una forma clara cual es el TabSheet activo, ni diferenciar el PageControl del fondo del Form.
:huh:Mi preguntas son:
¿Es posible cambiar el color a un PageControl?
¿Es posible cambiar el color al TabSheet que está seleccionado?
y, claro,... si es posible, me gustaría saber como hay que hacerlo.
Gracias de antemano.
Ramón.
  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 noviembre 2009 - 08:02



delphi
  1. Procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  2. TabIndex: Integer; const Rect: TRect; Active: Boolean);
  3. begin
  4.   case TabIndex of
  5.     0: Control.Canvas.Brush.Color:=clgreen;
  6.     1: Control.Canvas.Brush.Color:=clred;
  7.     2: Control.Canvas.Brush.Color:=clblue;
  8.     3: Control.Canvas.Brush.Color:=clYellow;
  9.     4: Control.Canvas.Brush.Color:=clMaroon;
  10.     5: Control.Canvas.Brush.Color:=clWhite;
  11.   end;
  12.   Control.Canvas.TextOut(Rect.left+5,Rect.top+3,PageControl1.Pages[tabindex].Caption);
  13.   PageControl1.Pages[TabIndex].Brush.Color:=Control.Canvas.Brush.Color;
  14. end;



Debes poner la propiedad OwnerDraw en True.

Saludos.
  • 0

#3 ramonrafe

ramonrafe

    Member

  • Miembros
  • PipPip
  • 24 mensajes
  • LocationEspaña

Escrito 14 noviembre 2009 - 12:36

Muchas gracias Enecumene.
Esto es lo que buscaba.
Ramón. ;)
  • 0




IP.Board spam blocked by CleanTalk.