Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Panel - Farbe wechseln (https://www.delphipraxis.net/140892-panel-farbe-wechseln.html)

yasR 28. Sep 2009 13:52

Re: Panel - Farbe wechseln
 
Was bedeutet für dich manuell anstoßen? ^^

EDIT: Mit Delay funktioniert es, danke!

Neutral General 28. Sep 2009 13:55

Re: Panel - Farbe wechseln
 
Also soweit ich weiß löst es schon direkt ein neuzeichnen aus. Wobei direkt = Sofort nach dem eintreffen der Antwort-Message auf die Farbänderung?

Wobei man, jetzt wo dus sagst, auch einfach statt Application.ProcessMessages Panel10.Repaint benutzen kann :mrgreen:

yasR 28. Sep 2009 13:57

Re: Panel - Farbe wechseln
 
Ich muss diesen Effekt aber bei 15 weiteren Panels machen, muss ich diese Procdure bei allen anderen Panels übenehmen? :O

procedure TForm5.Panel11Click(Sender: TObject);
begin
Panel11.Color := RGB(195,195,195);
delay(280);
Panel11.Color := clWhite;
end;

DeddyH 28. Sep 2009 14:05

Re: Panel - Farbe wechseln
 
Delphi-Quellcode:
procedure TForm5.Panel11Click(Sender: TObject);
begin
  (Sender as TPanel).Color := RGB(195,195,195);
  delay(280);
  (Sender as TPanel).Color := clWhite;
end;
So kannst Du die Methode allen Panels im Objektinspektor zuweisen.

himitsu 28. Sep 2009 14:07

Re: Panel - Farbe wechseln
 
Handelt es sich dabei zufällig um die abgerundeten Panels?
(wenn ja, dann Antwort siehe oben ... ändern der Farbe des Panels ist sinnlos)

yasR 28. Sep 2009 14:08

Re: Panel - Farbe wechseln
 
Himitsu, nein ist etwas anderes ;-)

himitsu 28. Sep 2009 14:12

Re: Panel - Farbe wechseln
 
na dann ^^

Aber NUR ein Ändern von Panel.Color bringt nichts, da, wie gesagt dieses nicht sofort zeichnen läßt, sondern nur eine Nachricht ala "zeichne dich bei Gelegenheit neu" an das Panel sendet

Delay oder Application.ProcessMessages+Sleep dürften Zeit zum Neuzeichnen lassen.


Und sobald du das XP-Design für deine Anwendung aktivierst, wird für Panels immer die Hintergrundfarbe des Systems verwendet und .Color ignoriert.

yasR 28. Sep 2009 14:21

Re: Panel - Farbe wechseln
 
@DeddyH

procedure TForm5.Panel11Click(Sender: TObject);
begin
(Sender as TPanel).Color := RGB(195,195,195);
delay(260);
(Sender as TPanel).Color := clWhite;
end;


Diese Variante schein nicht zu funktionieren -.-

himitsu 28. Sep 2009 14:25

Re: Panel - Farbe wechseln
 
Welche Delphi-Version nutzt du, bzw hast du die Unit XPMan irgendwo in deinem Programm eingebunden oder TXPManifest auf irgendeiner Form der Anwendung rumliegen?

yasR 28. Sep 2009 14:27

Re: Panel - Farbe wechseln
 
Nutze Delphi 06 und habe auch kein XPMan in den Uses und auch kein XPManifest auf meinem Formular.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 Uhr.
Seite 2 von 3     12 3      

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-2025 by Thomas Breitkreuz