In Delphi XE2 FireMonkey - Wie ändere ich die Farbe einer Schaltfläche nach dem drücken es
Will ich nur ändern Sie die Farbe einer Schaltfläche, nachdem ich drücken es.
Muss ich verwenden "Stile" zu tun....?
Zu klären: wollen Sie die-Taste, um die Farbe zu ändern, während Sie gedrückt, und wieder danach, oder ändern Sie die Farbe dauerhaft, nachdem es betätigt wurde (wie ein speedbutton ist "down") - und wenn ja, Wann tut Sie es zurücksetzen, um die ursprüngliche Farbe?
InformationsquelleAutor tdog2 | 2011-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie der Schaltfläche ändern.StyleLookup-Eigenschaft, um den Stil zu ändern (Farbe).
Müssen Sie einen neuen Stil für die Stylebook.
TRectangle
in der button-Stile, nurTStyleContainer
,TButtonStyleObject
,TGlyph
,TButtonStyleTextObject
, und einTImage
.InformationsquelleAutor Arjen van der Spek
Stile
Alternative zum erstellen von einem anderen Stil und die Umstellung auf das neue Stil wäre das erstellen einer benutzerdefinierten Stil für die Schaltfläche ein und ändern Sie die Farbe in diesem Stil.
Sie haben gerade einen eigenen Stil für die Schaltfläche. Also, wenn Sie Sie Bearbeiten zur Laufzeit, es wird sich nur auf diese Schaltfläche klicken.
Geben Sie nun das folgende in deiner OnClick-Ereignis zum ändern der Farbe zur Laufzeit:
Hinweis: Fügen Sie FMX.Objekte, die zu Ihrer uses-Klausel wenn Sie nicht bereits haben. Das ist, wo TRectangle ist.
Aber warten...
Werden Sie feststellen, dass der button die Farbe ändert sich zurück auf den Standardwert, wenn die Maus verlässt oder betritt Sie die Taste. Das liegt an den Animationen. Wenn Sie die stylename-Eigenschaften für beide TColorAnimation Stil-Elemente in den Stil-editor für die benutzerdefinierte Formatvorlage, Sie können auch die Farbe einstellen. Für mein Beispiel habe ich genannt habe die TColorAnimations coloranimation1 und coloranimation2.
Hier ist der überarbeitete code:
Hinweis: Fügen Sie FMX.Ani zu Ihrer uses-Klausel für TColorAnimation.
du hast Recht. Dies funktioniert für die meisten Stil-Elemente, aber der Fokus Animationen wiederherstellen der Standard-Farbe, wenn die Maus verlässt.
Ich aktualisiert meine Antwort schließt die Aktualisierung der Animationen auch.
Nee, Mach das nicht auf diese Weise. Sorry Marcus, aber dieser code funktioniert nicht auf der Standard-Stil. Es gibt viele verschiedene button-Stile. Zum Beispiel: MacBlue, nur GradientAnimation oder Ruby, FloatAnimation und 2 Rechteck. Beide Stile haben nicht coloranimation. Nicht hartcodieren style-änderungen in Ihrem code, sondern verwenden Sie die Stylebook.
Hmm. danke Jungs. Aber jetzt, höre ich auch... O. o
InformationsquelleAutor Marcus Adams