Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Uso de PageControl con ImageList (https://www.clubdelphi.com/foros/showthread.php?t=28316)

sabinajoa 15-12-2005 17:47:39

Uso de PageControl con ImageList
 
Hola a todos,

Me gustaría poder cambiar el color de la pestaña del PageControl, ya he estado mirando los hilos que hay al respecto, y en principio me servirían, sino fuera por que tengo unas imágenes añadidas al TabSheet (con un TImageList).
Con el siguiente código:
Código:


procedure TfrmJob.pagecontrolDrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var R: TRect;
        Texto: String;
begin
  Control.Canvas.Brush.Color := clWhite;
  Control.Canvas.Font.Color := clBlack;
  Texto := pgjob.Pages[TabIndex].Caption;
  R := Rect;
  Control.Canvas.FillRect(R);
  if not Active then
        InflateRect(R, 0, -3);
  DrawText(Control.Canvas.Handle, PChar(Texto), -1, R, DT_SINGLELINE or DT_CENTER or DT_VCENTER);
end;

Lo que consigo es que se me quede el fondo blanco y las letras en negro, pero claro, la imagen no sale.
Alguien me podría asesorar de como hacer para que ésta salga??? Muchas gracias a todos!!

jachguate 15-12-2005 19:28:40

Al crear un evento DrawTab, sos vos el responsable de la apariencia del mismo. Podes usar el método Draw del canvas para mostrar la imagen asociada al tab dentro del código que ya tenes, de manera que la misma sea mostrada en cada pestaña, y para mantener el efecto del texto centrado en la pestaña, que no sobreescriba el rectángulo, pues corre el margen izquierdo de este el tamaño de la imagen antes de llamar a DrawText.

Hasta luego.

;)

sabinajoa 16-12-2005 16:01:52

Problema solucionado
 
Muchas gracias! Ya he conseguido lo que quería, simplemente tenía que añadir esta línea de código, je je. :p
Código:


ImageList1.Draw(Control.Canvas,Rect.Left,Rect.Top, pgjob.Pages[TabIndex].ImageIndex);

Saludos!!!!


La franja horaria es GMT +2. Ahora son las 05:38:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi