Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Eigener EditStyle lässt Text verschwinden (https://www.delphipraxis.net/175950-eigener-editstyle-laesst-text-verschwinden.html)

sintronic86 1. Aug 2013 09:46

Eigener EditStyle lässt Text verschwinden
 
Hallo Community,

ich bin es mal wieder.

Das Problem:
Ich arbeite nun schon eine Weile mit den Firemonkey-Styles und habe schon einige (erfolgreiche) Experimente damit durchgeführt.
Nun will ich ein komplett eigenen Style entwerfen und hänge am 'editstyle'.
Zwar sieht der Hintergrund des Edits genau so aus, wie ich es will, aber leider sieht man den eingegebenen Text nun nicht mehr.
Ich kann ihn nach der Eingabe markieren (die markierung ist sichtbar) aber leider ohne den eigentlichen Text.
hat einer von euch eine Ahnung warum?

Anbei der Auszug aus meiner .style-Datei:

Code:
  object TLayout
    StyleName = 'myeditstyle'
    DesignVisible = False
    Height = 50.000000000000000000
    Width = 50.000000000000000000
    object TLayout
      StyleName = 'background'
      Align = alContents
      Height = 22.000000000000000000
      Width = 142.000000000000000000
     HitTest = False
      object TLayout
        StyleName = 'leftside'
        Align = alLeft
        Height = 50.000000000000000000
        Width = 4.000000000000000000
        object TSubImage
          StyleName = 'topleftcorner'
          Align = alTop
          Height = 4.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.Left = 5.000000000000000000
          SourceRect.Top = 5.000000000000000000
          SourceRect.Right = 9.000000000000000000
          SourceRect.Bottom = 9.000000000000000000
          Width = 4.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'bottomleftcorner'
          Align = alBottom
          Height = 3.000000000000000000
          HitTest = False
          Position.Y = 47.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.Left = 5.000000000000000000
          SourceRect.Top = 24.000000000000000000
          SourceRect.Right = 9.000000000000000000
          SourceRect.Bottom = 27.000000000000000000
          Width = 4.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'leftclient'
          Align = alClient
          Height = 43.000000000000000000
          HitTest = False
          Position.Y = 4.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.Left = 5.000000000000000000
          SourceRect.Top = 9.000000000000000000
          SourceRect.Right = 9.000000000000000000
          SourceRect.Bottom = 24.000000000000000000
          Width = 4.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
      end
      object TLayout
        StyleName = 'rightside'
        Align = alRight
        Height = 50.000000000000000000
        Position.X = 46.000000000000000000
        Width = 4.000000000000000000
        object TSubImage
          StyleName = 'toprightcorner'
          Align = alTop
          Height = 4.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.Left = 143.000000000000000000
          SourceRect.Top = 5.000000000000000000
          SourceRect.Right = 147.000000000000000000
          SourceRect.Bottom = 9.000000000000000000
          Width = 4.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'bottomrightcorner'
          Align = alBottom
          Height = 3.000000000000000000
          HitTest = False
          Position.Y = 47.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.Left = 143.000000000000000000
          SourceRect.Top = 24.000000000000000000
          SourceRect.Right = 147.000000000000000000
          SourceRect.Bottom = 27.000000000000000000
          Width = 4.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'rightclient'
          Align = alClient
          Height = 43.000000000000000000
          HitTest = False
          Position.Y = 4.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.Left = 143.000000000000000000
          SourceRect.Top = 9.000000000000000000
          SourceRect.Right = 147.000000000000000000
          SourceRect.Bottom = 24.000000000000000000
          Width = 4.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
      end
      object TLayout
        StyleName = 'middle'
        Align = alClient
        Height = 50.000000000000000000
        Position.X = 4.000000000000000000
        Width = 42.000000000000000000
        object TSubImage
          StyleName = 'top'
          Align = alTop
          Height = 4.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.Left = 9.000000000000000000
          SourceRect.Top = 5.000000000000000000
          SourceRect.Right = 144.000000000000000000
          SourceRect.Bottom = 9.000000000000000000
          Width = 42.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'bottomrightcorner'
          Align = alBottom
          Height = 3.000000000000000000
          HitTest = False
          Position.Y = 47.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.Left = 9.000000000000000000
          SourceRect.Top = 24.000000000000000000
          SourceRect.Right = 144.000000000000000000
          SourceRect.Bottom = 27.000000000000000000
          Width = 42.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'rightclient'
          Align = alClient
          Height = 43.000000000000000000
          HitTest = False
          Position.Y = 4.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.Left = 9.000000000000000000
          SourceRect.Top = 9.000000000000000000
          SourceRect.Right = 144.000000000000000000
          SourceRect.Bottom = 24.000000000000000000
          Width = 42.000000000000000000
          WrapMode = iwStretch
          BitmapScale = 2.000000000000000000
        end
      end
    end
    object TLayout
      StyleName = 'content'
      Align = alClient
      Locked = True
      Height = 47.000000000000000000
      Padding.Left = 4.000000000000000000
      Padding.Top = 1.000000000000000000
      Padding.Right = 4.000000000000000000
      Padding.Bottom = 2.000000000000000000
      Position.X = 4.000000000000000000
      Position.Y = 1.000000000000000000
    end
    object TLayout
      StyleName = 'buttons'
      Align = alRight
      Locked = True
      Height = 46.000000000000000000
      Padding.Top = 2.000000000000000000
      Padding.Right = 2.000000000000000000
      Padding.Bottom = 2.000000000000000000
      Position.X = -2.000000000000000000
      Position.Y = 2.000000000000000000
      Width = 50.000000000000000000
    end
    object TBrushObject
      StyleName = 'foreground'
    end
    object TBrushObject
      StyleName = 'selection'
      Brush.Color = x7F67A8D3
    end
    object TFontObject
      StyleName = 'font'
    end
  end

stahli 1. Aug 2013 11:48

AW: Eigener EditStyle lässt Text verschwinden
 
Ich leider nicht.

Aber es wäre mal schön, wenn Emba das Style-Konzept mal richtig im Detail erklären würde (falls ein solches, zu Recht so zu bezeichnendes Konzept überhaupt gibt).

sintronic86 1. Aug 2013 13:30

AW: Eigener EditStyle lässt Text verschwinden
 
Da gebe ich dir absolut Recht. Im Prinzip kann man das nur nach dem Motto "Learning by doing" verwirklichen. Daher hänge ich auch an dieser Stelle, da es mir absolut schleierhaft ist, wo der (gravierende) Unterschied von meiner Style-Beschreibung zu einer bereits vorhanden (funktionierenden) ist.

Darlo 1. Aug 2013 14:14

AW: Eigener EditStyle lässt Text verschwinden
 
Ist das jetzt so wie du es haben willst?

Delphi-Quellcode:
object TStyleContainer
  object TLayout
    StyleName = 'myeditstyle'
    DesignVisible = False
    Height = 50.000000000000000000
    Position.X = 556.000000000000000000
    Position.Y = 476.000000000000000000
    Width = 50.000000000000000000
    object TLayout
      StyleName = 'background'
      Align = alContents
      Height = 50.000000000000000000
      Width = 50.000000000000000000
      object TLayout
        StyleName = 'leftside'
        Align = alLeft
        Height = 50.000000000000000000
        Width = 4.000000000000000000
        object TSubImage
          StyleName = 'topleftcorner'
          Align = alTop
          Height = 4.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 5
          SourceRect.RightI = 9
          SourceRect.TopI = 5
          SourceRect.BottomI = 9
          Width = 4.000000000000000000
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'bottomleftcorner'
          Align = alBottom
          Height = 3.000000000000000000
          HitTest = False
          Position.Y = 47.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 5
          SourceRect.RightI = 9
          SourceRect.TopI = 24
          SourceRect.BottomI = 27
          Width = 4.000000000000000000
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'leftclient'
          Align = alClient
          Height = 43.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 5
          SourceRect.RightI = 9
          SourceRect.TopI = 9
          SourceRect.BottomI = 24
          Width = 4.000000000000000000
          BitmapScale = 2.000000000000000000
        end
      end
      object TLayout
        StyleName = 'rightside'
        Align = alRight
        Height = 50.000000000000000000
        Position.X = 46.000000000000000000
        Width = 4.000000000000000000
        object TSubImage
          StyleName = 'toprightcorner'
          Align = alTop
          Height = 4.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 143
          SourceRect.RightI = 147
          SourceRect.TopI = 5
          SourceRect.BottomI = 9
          Width = 4.000000000000000000
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'bottomrightcorner'
          Align = alBottom
          Height = 3.000000000000000000
          HitTest = False
          Position.Y = 47.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 143
          SourceRect.RightI = 147
          SourceRect.TopI = 24
          SourceRect.BottomI = 27
          Width = 4.000000000000000000
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'rightclient'
          Align = alClient
          Height = 43.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 143
          SourceRect.RightI = 147
          SourceRect.TopI = 9
          SourceRect.BottomI = 24
          Width = 4.000000000000000000
          BitmapScale = 2.000000000000000000
        end
      end
      object TLayout
        StyleName = 'middle'
        Align = alClient
        Height = 50.000000000000000000
        Width = 42.000000000000000000
        object TSubImage
          StyleName = 'top'
          Align = alTop
          Height = 4.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 9
          SourceRect.RightI = 144
          SourceRect.TopI = 5
          SourceRect.BottomI = 9
          Width = 42.000000000000000000
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'bottomrightcorner'
          Align = alBottom
          Height = 3.000000000000000000
          HitTest = False
          Position.Y = 47.000000000000000000
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 9
          SourceRect.RightI = 144
          SourceRect.TopI = 24
          SourceRect.BottomI = 27
          Width = 42.000000000000000000
          BitmapScale = 2.000000000000000000
        end
        object TSubImage
          StyleName = 'rightclient'
          Align = alClient
          Height = 43.000000000000000000
          HitTest = False
          SourceLookup = 'Style.png'
          SourceRect.LeftI = 9
          SourceRect.RightI = 144
          SourceRect.TopI = 9
          SourceRect.BottomI = 24
          Width = 42.000000000000000000
          BitmapScale = 2.000000000000000000
        end
      end
    end
    object TLayout
      StyleName = 'content'
      Align = alClient
      Locked = True
      Height = 50.000000000000000000
      Padding.Left = 4.000000000000000000
      Padding.Top = 1.000000000000000000
      Padding.Right = 4.000000000000000000
      Padding.Bottom = 2.000000000000000000
      Width = 0.000000000000000000
      object TFontObject
        StyleName = 'font'
      end
    end
    object TLayout
      StyleName = 'buttons'
      Align = alRight
      Locked = True
      Height = 50.000000000000000000
      Padding.Top = 2.000000000000000000
      Padding.Right = 2.000000000000000000
      Padding.Bottom = 2.000000000000000000
      Width = 50.000000000000000000
    end
    object TBrushObject
      StyleName = 'foreground'
    end
    object TBrushObject
      StyleName = 'selection'
      Brush.Color = x7F67A8D3
    end
  end
end

sintronic86 1. Aug 2013 15:24

AW: Eigener EditStyle lässt Text verschwinden
 
@Darlo: Leider sieht es noch genauso aus wie vorher... :(

Darlo 1. Aug 2013 17:12

AW: Eigener EditStyle lässt Text verschwinden
 
unter xe 4 habe ich da den text sichtbar.

Union 1. Aug 2013 17:22

AW: Eigener EditStyle lässt Text verschwinden
 
Ja, bei mir auch, allerdings ist die Farbwahl unglücklich.

sintronic86 2. Aug 2013 07:22

AW: Eigener EditStyle lässt Text verschwinden
 
Also, ich habe es heute Morgen endlich hinbekommen.
@darlo: also wie mir scheint, hat meine Delphi-Version Schwierigkeiten mit dem
"TStyleContainer". Wenn ich den von dir erstellten Style-Text einfüge, in das Stylebook reinlade und mir dann den Inhalt des Stylebooks ansehe, erscheint der "myeditstyle" garnicht.

@all: Wie habe ich es hinbekommen? Nun, manchmal sieht man den Wald vor lauter Bäumen nicht. Ich habe meinen Text nur um eine Zeile erweitert:

Delphi-Quellcode:
object TBrushObject
  StyleName = 'foreground'
  Brush.Color = claBlack                        <----------<<<
end
Scheinbar war die Standardfarbe weiß. Da auch der Hintergrund meines Edits weiß war, habe ich es schlichtweg nicht sehen können.

Union 2. Aug 2013 08:02

AW: Eigener EditStyle lässt Text verschwinden
 
Das ist der Unterschied, in XE4 ist die Hintergundfarbe grau gewesen. Es war also "Dunkelweiß auf Hellgrau".

sintronic86 7. Aug 2013 13:29

AW: Eigener EditStyle lässt Text verschwinden
 
So, nun bekomme ich es zwar hin, das der Text angezeigt wird, allerdings nur dann, wenn ich Standard-Schriftarten verwende.
Ich habe mir eine neue Schriftart heruntergeladen, diese installiert und sie wird auch im Objectinspector bei beispielsweise TEdit.Font.Family mit in der Liste angezeigt.

Wenn ich dann aber das Programm starte und in dem besagten Edit einen Text eingebe, ist dieser nicht sichtbar... :( Woher kommt das nur wieder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz