Главная страница
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.01 c
1-1209052939
Тыщ
2008-04-24 20:02
2009.04.05
Что означают элементы с названиями ".1", ".2" и т.п?


2-1234349665
harisma
2009-02-11 13:54
2009.04.05
ListView и позиционирование.


2-1234427731
Mishenka
2009-02-12 11:35
2009.04.05
Как отменить автоматическое сохранение в DBRichEdit ?


2-1233835341
asddsa
2009-02-05 15:02
2009.04.05
Доступ к расшаренным ресурсам


2-1234349684
Elena
2009-02-11 13:54
2009.04.05
retError