Die
procedure TXxx.PageCtrlDrawTab (TC: TCustomTabControl; TabIndex: Integer; const R: TRect; Active: Boolean);
liefert den >TabIndex< und nicht den >PageIndex<. Deshalb musst du dir das richtige TabSheet über den TabIndex des TabSheets heraussuchen, z.B. mit
Delphi-Quellcode:
function FindTabSheetByTabIndex (PC: TPageControl; _TabIndex: Integer): TTabSheet;
var I: Integer;
var TS: TTabSheet;
begin
Result := nil;
for I := 0 to PC.PageCount-1 do begin
TS := PC.Pages [I];
if TS.TabIndex = _TabIndex then begin
Result := TS;
Exit;
end;
end;
end;
Dann geht alles wie erwartet.