Anzeigen: Delphi C++
Anzeigeeinstellungen

Grundlegende FireMonkey-Steuerelemente und mit Stilen versehene Steuerelemente

Aus RAD Studio XE2
Wechseln zu: Navigation, Suche

Nach oben zu FireMonkey-Komponentenhandbuch

Inhaltsverzeichnis

Grundlegende Steuerelemente

Die grundlegenden Steuerelemente von FireMonkey sind von FMX.Objects.TShape abgeleitet und können sich deshalb selbst zeichnen. Das Zeichnen erfolgt in der Methode Paint, die in FMX.Types.TControl eingeführt wird und dann von jedem grundlegenden Steuerelement überschrieben wird.

Das Erscheinungsbild eines grundlegenden Steuerelements wird von seinen eigenen Eigenschaften, wie Fill, Stroke, StrokeCap, StrokeDash, StrokeJoin und StrokeThickness, definiert.

Grundlegende FireMonkey-Steuerelemente sind:

Erstellen eines grundlegenden FireMonkey-Steuerelements enthält schrittweise Anleitungen zum Erstellen eines eigenen grundlegenden FireMonkey-Steuerelements.

Mit Stilen versehene Steuerelemente

Mit Stilen versehene FireMonkey-Steuerelemente legen das Erscheinungsbild einer Anwendung nicht fest. Stattdessen lesen diese Steuerelemente Stildateien (oder von einer Stilbuchkomponente definierte Stile), um dynamisch eine Liste mit grundlegenden Steuerelementen und deren Eigenschaften auszuwählen. Daher können mit Stilen versehene Steuerelemente das Erscheinungsbild ändern, wenn die Anwendung zu einem neuen Stil wechselt (wenn sie neue Stildefinitionen lädt).

Ein mit Stilen versehenes Steuerelement kann aus jeder Kombination von grundlegenden Steuerelementen, mit Stilen versehenen Steuerelementen und Effekten erzeugt werden. FMX.Controls.TCheckBox wird beispielsweise aus den folgenden grundlegenden Steuerelementen und Effekten gebildet:

  • TLayout (CheckBoxstyle)
    • TLayout
      • TRectangle (Hintergrund)
        • TGlowEffect
        • TRectangle
        • TRectangle
        • TColorAnimation
        • TColorAnimation
        • TPath (Häkchen)
          • TColorAnimation
      • TText (Text)

Beim Laden eines mit Stilen versehenen Steuerelements wird ein Objekt mit dem StyleName ('<Klassenname>style) geladen. Dann wird das Steuerelement aufgebaut. Zum Beispiel:

  object TLayout
    StyleName = 'checkboxstyle'
    Position.Point = '(352,391)'
    Width = 121.000000000000000000
    Height = 21.000000000000000000
    DesignVisible = False
    object TLayout
      Align = alLeft
      Width = 20.000000000000000000
      Height = 21.000000000000000000
      object TRectangle
        StyleName = 'background'
        Align = alCenter
        Position.Point = '(3,4)'
        Locked = True
        Width = 13.000000000000000000
        Height = 13.000000000000000000
        HitTest = False
        Fill.Color = xFFEFEFEF
        Stroke.Kind = bkNone
        object TGlowEffect
          Trigger = 'IsFocused=true'
          Enabled = False
          Softness = 0.200000002980232200
          GlowColor = x82005ACC
          Opacity = 0.899999976158142100
        end
        object TRectangle
          Align = alContents
          Locked = True
          Width = 13.000000000000000000
          Height = 13.000000000000000000
          HitTest = False
          Fill.Kind = bkGradient
          Fill.Gradient.Points = <
            item
              Color = x5FA7A7A7
            end
            item
              Color = x5FFFFFFF
              Offset = 1.000000000000000000
            end>
          Stroke.Color = x90404040
        end
        object TRectangle
          Align = alContents
          Position.Point = '(2,2)'
          Locked = True
          Width = 9.000000000000000000
          Height = 9.000000000000000000
          Padding.Rect = '(2,2,2,2)'
          HitTest = False
          Fill.Kind = bkNone
          Stroke.Color = x30505050
        end
        object TColorAnimation
          Duration = 0.100000001490116100
          Trigger = 'IsMouseOver=true'
          StartValue = xFFEFEFEF
          StopValue = xFFA5D9FF
          PropertyName = 'Fill.Color'
        end
        object TColorAnimation
          Duration = 0.100000001490116100
          Inverse = True
          Trigger = 'IsMouseOver=false'
          StartValue = xFFEFEFEF
          StopValue = xFFA5D9FF
          PropertyName = 'Fill.Color'
        end
        object TPath
          StyleName = 'checkmark'
          Align = alCenter
          Position.Point = '(2,2)'
          Locked = True
          Width = 9.000000000000000000
          Height = 9.000000000000000000
          HitTest = False
          Fill.Color = claNull
          Stroke.Kind = bkNone
          Data.Path = {
            1200000000000000000000000000000001000000CDCC4C3E0000000001000000
            0000003F9A99993E01000000CDCC4C3F00000000010000000000803F00000000
            010000000000803FCDCC4C3E010000003333333F0000003F010000000000803F
            CDCC4C3F010000000000803F0000803F01000000CDCC4C3F0000803F01000000
            0000003F3333333F01000000CDCC4C3E0000803F01000000000000000000803F
            0100000000000000CDCC4C3F010000009A99993E0000003F0100000000000000
            CDCC4C3E010000000000000000000000030000000000000000000000}
          object TColorAnimation
            Duration = 0.100000001490116100
            Trigger = 'IsChecked=true'
            TriggerInverse = 'IsChecked=false'
            StartValue = x00034E9E
            StopValue = xFF034E9E
            PropertyName = 'Fill.Color'
          end
        end
      end
    end
    object TText
      StyleName = 'text'
      Align = alClient
      Position.Point = '(21,2)'
      Locked = True
      Width = 99.000000000000000000
      Height = 19.000000000000000000
      Padding.Rect = '(1,2,1,0)'
      HitTest = False
      Text = 'CheckBox'
    end
  end

Siehe auch

Frühere Versionen
In anderen Sprachen