Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: 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 вся ветка

Текущий архив: 2009.04.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
2-1234349684
Elena
2009-02-11 13:54
2009.04.05
retError


2-1234527816
snake-as
2009-02-13 15:23
2009.04.05
Открытие сохраненного проекта


15-1233954904
Юрий
2009-02-07 00:15
2009.04.05
С днем рождения ! 7 февраля 2009 суббота


15-1233855587
Добежал
2009-02-05 20:39
2009.04.05
InnoSetup - сделать директорию скрытой


6-1201972877
..::KraN::..
2008-02-02 20:21
2009.04.05
Documents and Settings - доступ по FTP закрыт...