Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Farbe bei abbrechen schwarz


Leuchtturm - Mi 22.11.06 12:31
Titel: Farbe bei abbrechen schwarz
Hi,
warum ist die Farbe wenn ich den ColorDialog abbreche automatisch schwarz??
Eigentlich müsste die Farbe doch bleiben wie sie ist, oder?
Kann man das ändern das die Farbe dann automatisch schwarz ist :?:
Leuchtturm


Narses - Mi 22.11.06 12:42

Moin!

Wenn der Benutzer einen Dialog abbricht, dann möchte er nicht, dass die Werte übernommen werden. Du darfst einfach nur dann Werte aus dem Dialog verwenden, wenn der Benutzer OK anklickt (ist doch das Ergebnis von .Execute()), fertig. ;) Wozu das Standardverhalten ändern... :nixweiss:

cu
Narses


Leuchtturm - Mi 22.11.06 12:49

Ich versuche es so:

Delphi-Quelltext
1:
JvShape3.Brush.Color := ColorDialog1.Color;                    


So funktioniert das beim abbrechen aber nicht :cry:
Denn da ist die Farbe schwarz;
Könntest du mal bitte ein wenig Code posten wie du das meinst :?:
Leuchtturm


Narses - Mi 22.11.06 14:05

Moin!

Wie startest du denn den Dialog? Die Farbe wird ja nicht per göttlicher Eingebung in die Eigenschaft des Dialogs gesetzt.

cu
Narses


monster - Mi 22.11.06 15:09

Online-Hilfe zum Thema TColorDialog.Execute:
Zitat:

public function Execute(ParentWnd: HWND): Boolean;


Wenn der User auf Abbrechen klickt ist Execute = false. Da bietet es sich doch an mal nachzuhaken:


Delphi-Quelltext
1:
2:
if colorDialog1.execute = true then
  JvShape3.Brush.Color := colorDialog.color;


Hoffe ich konnte helfen.


Leuchtturm - Mi 22.11.06 16:15

Danke, beide habt ihr mir geholfen :D