Hallo den link habe ich mir jetzt nicht ganz genau angeguugt, sieht aber anders aus wie meins. Bei
DF und DG gabs mal nen ähnlichen thread dazu
http://www.delphi-forum.de/viewtopic...ht=pagecontrol
Dann wird die Caption schön "disabled" wie bei einem Button dargestellt
Delphi-Quellcode:
TForm1 = class(TForm)
...
private
{ Private-Deklarationen }
AltePagecontrolSeite: integer;
...
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
ATabIndex: Integer; const Rect: TRect; Active: Boolean);
//bitte Tabindex in Deklaration mit ATabindex auswechseln, sonst überschneidung mit Pagecontrol.tabindex. Deklaration in Tform nicht vergessen
//ownerDraw des pagecontrols auf true setzen
begin
with control as TPageControl do
begin
//jede zweite Seite "disablen"
if odd(Atabindex) then
begin
canvas.Brush.Style := bssolid;
canvas.font.Color := clBtnHighlight;
canvas.TextOut(rect.left+6,rect.top+5,Pages[ATabindex].Caption);
//text in anderer Farbe wieder drüberzeichnen (1 Pixel nach links oben versetzt)
canvas.Brush.Style := bsclear;
canvas.font.Color := clBtnShadow;
canvas.TextOut(rect.left+5,rect.top+4,Pages[ATabindex].Caption);
end
else
begin
//sonst normal zeichnen
canvas.Brush.Style := bssolid;
canvas.font.Color := clbtntext;
canvas.TextOut(rect.left+6,rect.top+5,Pages[ATabindex].Caption);
end;
end;
end;
procedure TForm1.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
AltePagecontrolSeite:=(sender as TPageControl).ActivePageIndex;
end;
procedure TForm1.PageControl1Change(Sender: TObject);
//Selektieren einer Seite verhindern.
begin
with sender as TPageControl do
begin
//jede zweite Seite "disablen"
if odd(ActivePageIndex) then ActivePageIndex:=AltePagecontrolSeite;
end;
end;
Mfg Frank