Für alle die ein ähnliches Problem haben. Ich habe nun rausgefunden, woran es wirklich lag.
Und zwar fehlten 2 Codezeilen:
Rect1.Width := Rect.Width;
Rect2.Width := Rect.Width;
Also vollständig dann so:
Delphi-Quellcode:
procedure TForm1.DrawGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Var
Rect1, Rect2: TRect;
S: String;
begin
Rect1.Left := Rect.Left + 5;
Rect1.Top := Rect.Top;
Rect1.Height := Rect.Height Div 2;
{ Wichtig } Rect1.Width := Rect.Width; { Wichtig }
Rect2.Left := Rect.Left + 25;
Rect2.Top := Rect.Top + (Rect.Height Div 2);
Rect2.Height := Rect.Height DIV 2;
{ Wichtig } Rect2.Width := Rect.Width; { Wichtig }
S := 'Text 1';
DrawGrid.Canvas.Font.Color := clBlack;
DrawGrid.Canvas.TextRect(Rect1, S, [tfVerticalCenter, tfSingleLine]);
S := 'Text 2';
DrawGrid.Canvas.Font.Color := $006B6B6B;
DrawGrid.Canvas.TextRect(Rect2, S, [tfVerticalCenter, tfSingleLine]);
Ansonsten kann es passieren, dass Rect1 oder Rect2 einen negativen Wert bekommen und somit das TextRect verschwindet