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