Einzelnen Beitrag anzeigen

Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#1

[XE5] Firemonkey TButton Style zur Laufzeit ändern

  Alt 25. Mär 2014, 11:18
Hallo, ich mache gerade meine ersten Gehversuche mit Firemonkey mobile, und bräuchte eine kleinen Dankanstoß.
Ich möchte den Style eines TButtons zur Laufzeit ändern.
Mein erster Versuch war, das TStylebook bearbeiten zu wollen, da dies nicht direkt ging, hab ich es in die Datei xx.style abgespeichert, und wollte manuell einen Eintrag zu kopieren und einen neuen hinzufügen und "buttonstyle" in "buttonstyle1" umzubennen.
Nach dem Laden des Styles wurde aber "buttonstyle1" nicht angezeigt, das funktioniert also nicht.
Hab allerdings nicht verstanden, warum?

mein neuer Versuch war, ein zweites Stylebook aufs Formular zu legen, um dort einen "roten" Button im Style zu kreieren.
Aber wie kann ich nun dem einzelnen Button den Style zuweisen, ohne das alle anderen Buttons davon betroffen sind?

Vielen Dank!


Delphi-Quellcode:
  object TLayout
    StyleName = 'buttonstyle'
    DesignVisible = False
    Height = 26.000000000000000000
    Position.X = 384.000000000000000000
    Position.Y = 488.000000000000000000
    Width = 73.000000000000000000
    object TRectangle
      StyleName = 'background'
      Align = alContents
      Fill.Kind = bkGradient
      Fill.Gradient.Points = <
        item
          Color = xFF505050
          Offset = 0.000000000000000000
        end
        item
          Color = xFF303030
          Offset = 1.000000000000000000
        end>
      Locked = True
      Height = 26.000000000000000000
      HitTest = False
      Stroke.Color = xFF222222
      XRadius = 3.000000000000000000
      YRadius = 3.000000000000000000
      Width = 73.000000000000000000
      object TColorAnimation
        Duration = 0.200000002980232200
        PropertyName = 'Fill.Color'
        StartValue = xFF505050
        StopValue = xFF707070
        Trigger = 'IsMouseOver=true;IsPressed=false'
        TriggerInverse = 'IsMouseOver=false;IsPressed=false'
      end
      object TColorAnimation
        Duration = 0.200000002980232200
        PropertyName = 'Fill.Color'
        StartValue = xFF707070
        StopValue = xFF404040
        Trigger = 'IsPressed=true'
        TriggerInverse = 'IsPressed=false'
      end
    end
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
  Mit Zitat antworten Zitat