Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Aktives TabSheet farblich hervorheben

  Alt 16. Dez 2006, 17:52
Moin Chemiker,

hier mal ein kleines Beispiel:

Delphi-Quellcode:
procedure TfrmcsDLMain.pcMainDrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
  if Active then begin
    Control.Canvas.Brush.Color := clInfoBk;
    Control.Canvas.Font.Style := Control.Canvas.Font.Style + [fsBold];
  end else begin
    Control.Canvas.Brush.Color := clBtnFace;
    Control.Canvas.Font.Style := Control.Canvas.Font.Style - [fsBold];
  end;
  Control.Canvas.FillRect(Rect);
  Control.Canvas.TextOut(Rect.Left+2,Rect.Top+2,(Control as TPageControl).Pages[TabIndex].Caption);
end;
Das die Bezeichnung verschwindet ist nicht weiter verwunderlich, denn wenn das auf OwnerDraw gestellt ist, muss Du auch die Beschriftung selber zeichnen (TextOut).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat