Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Color von dynamisch erzeugtem TPanel (https://www.delphipraxis.net/154749-color-von-dynamisch-erzeugtem-tpanel.html)

bwolf 23. Sep 2010 13:15


Color von dynamisch erzeugtem TPanel
 
Hi,

habe ein kleines, aber seltsames Problem.
Ich erstelle zur Laufzeit ein TPanel und will dessen Hintergrundfarbe ändern.
Aus irgend einem Grund klappt das aber nicht.
Code:

Delphi-Quellcode:
procedure TForm1.test();
var
  pnlHeader : TPanel;
begin
    pnlHeader := TPanel.Create(self);
    pnlHeader.Parent := pnlContainer;
    pnlHeader.ParentColor := False;
    pnlHeader.Color := clRed;
    pnlHeader.Align := alTop;
end;
Jemand eine Idee?
Danke!

stahli 23. Sep 2010 13:29

AW: Color von dynamisch erzeugtem TPanel
 
Wird es überhaupt angezeigt (also im richtigen Parent eingesetzt)?
Das ParentColor musst Du nicht ausschalten, das passiert durch das Setzen der Farbe automatisch.
Ansonsten...?

bwolf 23. Sep 2010 13:39

AW: Color von dynamisch erzeugtem TPanel
 
Jo das Panel wird angezeigt.
Ander Eigenschaften wie Border lassen sich auch ändern.
Das mit der ParentColor habe ich mal explizit auf False gesetzt um sicher zu gehen...
Echt strange :|

Hansa 23. Sep 2010 13:42

AW: Color von dynamisch erzeugtem TPanel
 
So ungefähr muss das gehen und tuts bei mir auch :
Delphi-Quellcode:
NewPanel := TPanel.Create (Self);
...
NewPanel.Color := clBlue;
...
Edit :

Eventuell noch so was hinzufügen :

NewPanel.Parent := form1;

mleyen 23. Sep 2010 13:50

AW: Color von dynamisch erzeugtem TPanel
 
Hi, das Problem haben wir auch schon festgestellt, jedoch nicht lange verfolgt.

Wir hatten nachher das gleiche Testprojekt (.dpr+.pas+.dfm) auf 2 verschiedenen Rechnern mit Delphi 2010.
Nachdem wir es kompiliert hatten (ohne etwas zu verändern) wurde bei dem einem Rechner eine RadioGroup farbig dargestellt und auf dem anderem default clBtnFace.
Scheint irgendwas Windowsmäßiges oder vllt. eine Delphieinstellung zu sein. Du nutzt auch Delphi 2010, oder?

bwolf 23. Sep 2010 14:01

AW: Color von dynamisch erzeugtem TPanel
 
Hi!

Ich habe Delphi 2009 hier (und Win7 32Bit).

Also bei mir klappts das definitiv nicht:
Habe ein neue Projekt erstellt und es gibt nur diesen Code:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  pnlTest : TPanel;
begin
    pnlTest := TPanel.Create(Form1);
    pnlTest.Parent := Form1;
    pnlTest.Width := 100;
    pnlTest.Height := 100;
    pnlTest.Color := clRed;
end;
Geht definitiv nicht...

bwolf 23. Sep 2010 14:09

AW: Color von dynamisch erzeugtem TPanel
 
Grpmf.

Es liegt an den "Laufzeit-Themes".
Wenn ich diese aktiviere, funktioniert es.
Allerdings ist dann da Problem, das PNG-Grafiken unsauber dargestellt werden.

Was is da los? ^^

Bummi 23. Sep 2010 14:17

AW: Color von dynamisch erzeugtem TPanel
 
Set mal Doublebuffered auf True

bwolf 23. Sep 2010 14:20

AW: Color von dynamisch erzeugtem TPanel
 
Zitat:

Zitat von Bummi (Beitrag 1051508)
Set mal Doublebuffered auf True

Danke für den Tipp, aber bringt leider nichts...

GHorn 23. Sep 2010 14:24

AW: Color von dynamisch erzeugtem TPanel
 
Hi,

rufst Du auch das "Show" auf??

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  pnlTest : TPanel;
begin
    pnlTest := TPanel.Create(Form1);
    pnlTest.Parent := Form1;
    pnlTest.Width := 100;
    pnlTest.Height := 100;
    pnlTest.Color := clRed;
    pnlTest.Show;   // <<-------
end;
Gruß
Gerald


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz