Jump to content


Photo

¿Cómo cambiar el color a un PageControl?


  • Please log in to reply
2 replies to this topic

#1 ramonrafe

ramonrafe

    Member

  • Miembros
  • PipPip
  • 24 posts
  • LocationEspaña

Posted 14 November 2009 - 06:29 AM

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
  • 7419 posts
  • LocationRepública Dominicana

Posted 14 November 2009 - 08:02 AM



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 posts
  • LocationEspaña

Posted 14 November 2009 - 12:36 PM

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




IP.Board spam blocked by CleanTalk.