ich möchte ein PageControl verwenden, das
- MultiLine
- und Tabs mit unterschiedlichen Farben beschriften
Theoretisch sollte das TcyPageControl das können, aber irgendwie hat TcyPageControl
Probleme bei MultiLine alles richtig darzustellen (Bei Delphi ging's noch.

Ähnliche Themen wurde schon oft diskutiert, z.B. hier: viewtopic.php?p=121876#p121876.
Hier kann man dann auch die Beschriftung ergänzen:
Code: Alles auswählen
procedure TPageControl.CNDrawitem(var Message: TWMDrawItem);
var
Rect: TRect;
Can: TCanvas;
begin
Rect := Message.DrawItemStruct^.rcItem;
InflateRect(Rect, -4, -4);
try
can := TCanvas.Create;
can.Handle := Message.DrawItemStruct^.hDC;
//Schriftfarbe von TTabSheet.Font verwenden
can.Font.Color:= Pages[Message.DrawItemStruct^.itemID].Font.Color;
//Aktives Sheet -> fett
if Message.DrawItemStruct^.itemState = ODS_SELECTED then
can.Font.Style:= [fsBold]
else
can.Font.Style:= [];
can.Brush.Style := bsClear;
can.TextOut(Rect.Left, Rect.Top,PChar(Pages[Message.DrawItemStruct^.itemID].Caption));
finally
can.Free;
end;
Message.Result := 1;
inherited;
end;
Geht das ohne?
Dann könnte es eventuell auch auf anderen Plattformen funktionieren!
Gern auch Vorschläge für eine andere PageControl-Kompo.
Gruß
Geronimo