![]() |
ColorDialog --> Farbänderung ohne Beenden des Dialogs
Hallo DPler,
ich möchte die Hintergrund- und -Schriftfarbe eines Panels ändern. Das funktioniert mit:
Delphi-Quellcode:
auch problemlos.
ColorDialog1.Color := Panel2.Color; //00 Blau Grün Rot
if ColorDialog1.Execute then Panel2.Color := ColorDialog1.Color; Allerdings möchte ich die Farbe des Panels nicht erst nach der Ausführung von ColorDialog ändern (das ist der schon funktionierende Teil), sondern während ich in ColorDialog an den Farben herumspiele soll sich die Farbe von meinem Panel gleich mit ändern. Kann jemand etwas dazu sagen? mfg eddy |
J'ai une idée:
Du könntest alle Mausereingnisse versuchen mit einem zweiten Thread, der mit ColorDialog1.Execute gestartet wird, abzufangen. Bei Jeden Mausklick prüfst du ob, sich die Farbe geändert hat, wenn ja, dann änderst du auch die Farbe des Panels. ok? noch mal in Code Form:
Code:
procedure Zweiten_Thread_starten;
begin; if Mausklick and (Panel1.Color <> ColorDialog1.Color) then Panel1.Color := ColorDialog1.Color; end; procedure Form1.ColorDialog1ShowOn(sender: TObject); begin; Zweiten_Thread_starten; end; procedure Form1.Button1(sender: TObject); begin; if ColorDialog1.Execute then begin // ... das Folgende wird dann auch nicht mehr gebraucht. // Panel1.Color := ColorDialog1.Color; end; end; |
Hallo Blackmix,
danke für den Tip, habe es aber leider nicht hinbekommen. Gebe mich mit der funktionierenden Standardversion zufrieden, da es nicht so bedeutungsvoll ist, um großen Aufwand zu betreiben. mfg eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 Uhr. |
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