AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Color von dynamisch erzeugtem TPanel

Ein Thema von bwolf · begonnen am 23. Sep 2010 · letzter Beitrag vom 24. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#1

Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 12:15
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!

Geändert von mkinzler (23. Sep 2010 um 12:19 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 12:29
Wird es überhaupt angezeigt (also im richtigen Parent eingesetzt)?
Das ParentColor musst Du nicht ausschalten, das passiert durch das Setzen der Farbe automatisch.
Ansonsten...?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 12:39
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
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 12:42
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;
Gruß
Hansa

Geändert von Hansa (23. Sep 2010 um 12:46 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 12:50
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?
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 13:01
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...
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 13:09
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? ^^
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 13:17
Set mal Doublebuffered auf True
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#9

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 13:20
Set mal Doublebuffered auf True
Danke für den Tipp, aber bringt leider nichts...
  Mit Zitat antworten Zitat
GHorn

Registriert seit: 24. Mär 2009
Ort: NRW
124 Beiträge
 
#10

AW: Color von dynamisch erzeugtem TPanel

  Alt 23. Sep 2010, 13:24
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz