Вниз
Скачать: CL | DM;

Компонент TPageControl   Найти похожие ветки 

 
cyborg   (2009-02-11 14:46) [0]

Как можно в компоненте PageControl задать разные цвета шрифтов для названия каждой вкладки?


 
Ega23 ©   (2009-02-11 14:59) [1]


unit Unit2;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Contnrs, ComCtrls;

type

 TForm2 = class(TForm)
   PageControl1: TPageControl;
   TabSheet1: TTabSheet;
   TabSheet2: TTabSheet;
   TabSheet3: TTabSheet;
   procedure PageControl1DrawTab(Control: TCustomTabControl;
     TabIndex: Integer; const Rect: TRect; Active: Boolean);
 private
   procedure DrawRect(Canvas : TCanvas; Rect : TRect; clr : TColor);
 public
   { Public declarations }
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.DrawRect(Canvas: TCanvas; Rect: TRect; clr: TColor);
var
cl : TColor;
begin
 cl := Canvas.Brush.Color;
 try
   Canvas.Brush.Color := clr;
   Canvas.FillRect(Rect);
 finally
   Canvas.Brush.Color := cl;
 end;
end;

procedure TForm2.PageControl1DrawTab(Control: TCustomTabControl;
 TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
 case TabIndex of
   0 : DrawRect(Control.Canvas, Rect, clRed);
   1 : DrawRect(Control.Canvas, Rect, clBlue);
   2 : DrawRect(Control.Canvas, Rect, clGreen);
 end;
end;

end.


Ну и для PageControl OwnerDraw надо в true выставить


 
Ega23 ©   (2009-02-11 14:59) [2]


unit Unit2;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Contnrs, ComCtrls;

type

 TForm2 = class(TForm)
   PageControl1: TPageControl;
   TabSheet1: TTabSheet;
   TabSheet2: TTabSheet;
   TabSheet3: TTabSheet;
   procedure PageControl1DrawTab(Control: TCustomTabControl;
     TabIndex: Integer; const Rect: TRect; Active: Boolean);
 private
   procedure DrawRect(Canvas : TCanvas; Rect : TRect; clr : TColor);
 public
   { Public declarations }
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.DrawRect(Canvas: TCanvas; Rect: TRect; clr: TColor);
var
cl : TColor;
begin
 cl := Canvas.Brush.Color;
 try
   Canvas.Brush.Color := clr;
   Canvas.FillRect(Rect);
 finally
   Canvas.Brush.Color := cl;
 end;
end;

procedure TForm2.PageControl1DrawTab(Control: TCustomTabControl;
 TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
 case TabIndex of
   0 : DrawRect(Control.Canvas, Rect, clRed);
   1 : DrawRect(Control.Canvas, Rect, clBlue);
   2 : DrawRect(Control.Canvas, Rect, clGreen);
 end;
end;

end.


Ну и для PageControl OwnerDraw надо в true выставить


 
cyborg   (2009-02-11 15:23) [3]


> Ega23 ©  

На самом деле я хотел изменить цвет шрифта. Но идею я понял, дальше сам сделаю.
Спасибо!


 
cyborg   (2009-02-11 15:23) [4]


> Ega23 ©  

На самом деле я хотел изменить цвет шрифта. Но идею я понял, дальше сам сделаю.
Спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
15-1233354903
Германн
2009-01-31 01:35
2009.04.05
Интересный вопрос всплыл неожиданно.


4-1201570363
Legolas
2008-01-29 04:32
2009.04.05
Программа для блокировки


1-1209392487
ZENsan
2008-04-28 18:21
2009.04.05
DesignIntf, DesignEditors...


2-1234281938
Bolodya
2009-02-10 19:05
2009.04.05
использование GroupBar (RzGroupBar) в программе


15-1233483473
killaTank
2009-02-01 13:17
2009.04.05
Авторские права




   Наверх