Como posso alterar a cor do texto da legenda em TabSheet?

Dia bom!

Preciso alterar a cor do texto da legenda de alguma TabSheet no TPageControl. Algo parecido com isso na foto

Eu sei como isso pode ser feito usando OnDrawTab. Mas se eu habilitado OwnerDraw, decoração do tema do Windows XP desaparece. É por isso que tento desenhar essa decoração manualmente. É assim que tentei fazer isso:

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;

E eu tenho esse

(esquerda - versão OwnerDraw, direita - desenho padrão)

Como você pode ver, o TabSheets tem algumas bordas que não são descobertas. E eu não posso ultrapassar essas fronteiras.

Como posso desenhar o fundo da aba corretamente (como o PageControl à direita)?

questionAnswers(1)

yourAnswerToTheQuestion