Einzelnen Beitrag anzeigen

Willie1

Registriert seit: 28. Mai 2008
618 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

TPanel HG-Farbe bei bei XP + Vista

  Alt 18. Apr 2009, 17:10
Hallo Leute,

ich weiß nicht, ob allgemein bekannt ist, dass bei eingebundenen XP-Manifest die Hintergrund-Farbe bei TPanel ignoriert wird. Ist im Quelltext von den Borländern auch dokumentiert. Da ich in einem Programm von mir viele Panels mit Hg-Farbe einsetze, habe ich nach einer Lösung gesucht. Sie ist sehr einfach, eine neue Komponente wie folgt:
Delphi-Quellcode:
unit WZPanel;

{*******************************************************************************
*  getestet mit Delphi 9/10
*  Neue Panel-Komponente  - zeigt Hintergrundfarbe (.Color) auch bei XPManifest an
*  15.03.2009
*
*  Nur zusammen mit XPManifest (Themes) benutzen !!!
*  Nebeneffekte sind mir noch nicht bekannt.
*
********************************************************************************}


interface

uses
  SysUtils, Classes, Controls, ExtCtrls;

type
  TWZPanel = class(TPanel)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    constructor Create(AOwner: TComponent); override;
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TWZPanel]);
end;

constructor TWZPanel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := ControlStyle - [csParentBackground] + [csOpaque];
end;

end.
Es gibt sicher einen Grund für das Vorgehen der Borland-Programmierer. In meinem Prg gibt es aber keine Probleme.
Vielleicht kann jemand damit was anfangen. Rückmeldung wäre schön.

MfG
Willie1
  Mit Zitat antworten Zitat