S
So habe ich es gelöst (PrgFarbe ist ein Integerwert für den Hintergrund z.B. clBtnFace):
void __fastcall TForm1::frm1_tabReiterDrawTab(TCustomTabControl *Control, int TabIndex, const TRect &ARect, bool Active)
{try { // Fehlerroutine Start
AnsiString z1; TColor f1,f2; // Vars definieren
TTabSheet *PTab; // TabControl anlegen
TCanvas *ACanvas; // Canvas vorbereiten
TRect CRect; // Rect vorbereiten
CRect=ARect; // Akt. Rect übergeben
PTab =frm1_tabReiter->Pages[TabIndex]; // Reiter als Control übergeben
ACanvas=Control->Canvas; // Canvas übergeben
z1 =PTab->Caption; // Text im Reiter
f1=PrgFarbe; // HG Farbe Standard
f2=clBtnText; // VG Farbe Standard
if(Active==true) { // REITER IST AKTIV
f1=clBtnHighlight; f2=clBlack; // Voreinstellung
switch(TabIndex) { // welcher Reiter?
case 1: f1=clGreen; f2=clWhite; break; // PLAN
case 2: f1=clMaroon; f2=clWhite; break; // SCHRANK
case 3: f1=clNavy; f2=clWhite; break; // AUFTRÄGE
case 4: f1=clYellow; f2=clBlack; break; // BEMERKUNG
case 5: f1=clFuchsia; f2=clBlack; break; // ZUSTÄNDIG
case 6: f1=clOlive; f2=clWhite; break; // ZUBEHÖR
case 7: f1=clGray; f2=clWhite; break; // HISTORIE
case 8: f1=clRed; f2=clWhite; break; // DATEIEN
} // ende switch(TabIndex
} // ende if(Active
ACanvas->Brush->Color=f1; // Farbe HG festlegen
ACanvas->Font->Color =f2; // Farbe VG festlegen
ACanvas->Font->Name="Arial"; ACanvas->Font->Size=8; // Schrift anpassen
ACanvas->FillRect(CRect); // Fläche erst füllen
DrawText(ACanvas->Handle,z1.c_str(),-1,&CRect,DT_CENTER | DT_VCENTER | DT_SINGLELINE); // Text schreiben
} catch(Exception& e) { MessageBox(NULL, e.Message.c_str(), "TForm1::frm1_tabReiterDrawTab()", MB_OK); } // Fehler anzeigen
}
Gruss Stefan