Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Tabsheet Farbe ändern


Tido - Di 19.10.04 11:36
Titel: Tabsheet Farbe ändern
Hallo Leutz!!

Mein Problem ist folgendes:

Weiß einer von Euch wie man die Farbe eines Tabsheets verändern kann? Habs bis jetzt nicht herausgefunden. Wenn ich die Farbe bei Form1. ändere, dann wird nur ein Teil des Tabsheets geändert, aber oben fehlt die Farbe.

Hoffe ihr könnt mir helfen

Thx

Tido


JRehorst - Di 26.10.04 09:44
Titel: Einfärben von Tabsheets
Hallo Tido,

zuerst musst du beim PageControl den Wert OwnerDraw auf True setzen.

Im Ereignis OnDrawTab vom PageControl setzt du dann folgenden Quelltext ein.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
  if Active then begin
    Control.Canvas.Font.Color:=clBlack;  // Farbe der Schrift
    Control.Canvas.TextRect(Rect,Rect.Left+4,Rect.Top+4,PageControl1.Pages[TabIndex].Caption);  // Zeichnen der Überschrift TabSheet
  end else begin
    Control.Canvas.Font.Color:=clBlack;  // Farbe der Schrift
    Control.Canvas.TextRect(Rect,Rect.Left+4,Rect.Top+4,PageControl1.Pages[TabIndex].Caption);  // Zeichnen der Überschrift TabSheet
  end;
end;


Moderiert von user profile iconUGrohne: Delphi-Tags hinzugefügt.


Tido - Di 26.10.04 12:16

Cooool!! :D
Es funktioniert endlich. Vielen Dank

thx