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;