![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компонент TPageControl
cyborg © (2009-02-11 14:46:00)Как можно в компоненте PageControl задать разные цвета шрифтов для названия каждой вкладки?
cyborg (2009-02-11 15:23:00) [1]
> Ega23 ©
На самом деле я хотел изменить цвет шрифта. Но идею я понял, дальше сам сделаю.
Спасибо!
cyborg (2009-02-11 15:23:00) [2]
> Ega23 ©
На самом деле я хотел изменить цвет шрифта. Но идею я понял, дальше сам сделаю.
Спасибо!
Ega23 (2009-02-11 14:59:00) [3]
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:00) [4]
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 выставить