Einzelnen Beitrag anzeigen

Rolf Frei

Registriert seit: 19. Jun 2006
650 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TPanel auf TStatusBar funktioniert nicht mehr

  Alt 17. Mär 2020, 14:20
Bist du dir sicher, dass das Panel dahinter ist? Das normale TStatusbar akzeptiert keine Child-Controls und sollte so eigentlich nie funktioniert haben. Habe mir vor Jahren genau deswegen eine eigene abgeleitete TSatausBar gemacht, die Controls akzeptiert und damit habe ich keine Probleme in Rio. Die folgende Komponente könntest du dir dann mit einem Package installieren und deine TStatusbar mit TrfStatusbar ersetzen.

Delphi-Quellcode:
unit RFComCtrls;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  CommCtrl, ComCtrls;

type
  { TrfStatusBar }
  TrfStatusBar = class(TStatusBar)
  private
  published
    constructor Create(AOwner: TComponent); override;
  end;

implementation

uses
  Themes;

{ TrfStatusBar }

constructor TrfStatusBar.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := ControlStyle + [csAcceptsControls]; // Dadurch lassen sich andere Controls auf der Statusbar platzieren
  DoubleBuffered := ThemeServices.ThemesEnabled;
end;

Geändert von Rolf Frei (17. Mär 2020 um 14:26 Uhr)
  Mit Zitat antworten Zitat