W jaki sposób mogę zmienić kolor tekstu motywu „TabSheet”?

Dobry dzień!

Muszę zmienić kolor tekstu podpisu niektórych arkuszy w TPageControl. Coś takiego na zdjęciu

Wiem, jak można to zrobić za pomocą OnDrawTab. Ale jeśli włączyłem OwnerDraw, dekoracja motywu Windows XP zniknie. Dlatego staram się ręcznie rysować tę dekorację. W ten sposób próbowałem to zrobić:

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
  FRect: TRect;
  Text: string;
begin
  FRect := Control.TabRect(TabIndex);
  if Active then
    ThemeServices.DrawElement(Control.Canvas.Handle, ThemeServices.GetElementDetails(ttTabItemHot), FRect)
  else
    ThemeServices.DrawElement(Control.Canvas.Handle, ThemeServices.GetElementDetails(ttTabItemNormal), FRect);
  Text := PageControl1.Pages[TabIndex].Caption;
  Control.Canvas.Brush.Style := bsClear;
  if not Active then
    FRect.Top := FRect.Top + 4;
  DrawText(Control.Canvas.Handle, PChar(Text), Length(Text), FRect, DT_SINGLELINE or DT_CENTER or DT_VCENTER);
end;

I mam to

(po lewej - wersja OwnerDraw, prawa - rysowanie domyślne)

Jak widać, Arkusze Tab mają pewne obramowania, które nie są przerysowane. I nie mogę przecenić tych granic.

Jak poprawnie narysować tło karty (jak PageControl po prawej stronie)?

questionAnswers(1)

yourAnswerToTheQuestion