Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   FMX Styleeditor eigene Komponenten einfügen (https://www.delphipraxis.net/184035-fmx-styleeditor-eigene-komponenten-einfuegen.html)

Rynardald 20. Feb 2015 17:07

FMX Styleeditor eigene Komponenten einfügen
 
Hallo,
ich habe folgendes Problem. Ich hab mir eine eigene Komponente gebaut aus einem TPanel (names 'TLayoutPanel') und mehreren TLabels und einem TEdit. Nun möchte ich einen eigene Style für diese Komponente erstellen. Für das Panel habe ich das ohne Probleme geschafft indem ich im Styleeditor ein TRectangle hinzugefügt habe und es 'layoutpanelstyle' genannt habe. Wo ich aber meine Probleme habe ist die darunterliegenden Komponenten hizuzufügen und zu modifizieren. Wenn ich dem 'layoutpanelstyle' ein TLabel hinzufüge erkennt er nicht die bestehenden sondern erzeugt immer wieder neue Kompopnenten. Ich vermute mal ich muss bestimmte Regeln bezüglich der Namensvergabe beachte, die ich aber noch nicht gefunden habe.

Harry Stahl 20. Feb 2015 23:13

AW: FMX Styleeditor eigene Komponenten einfügen
 
Mir ist hier leider nicht ganz klar, wie die Ausgangssituation ist:

Hast Du eine eigene Komponente via Menü "Komponente", "Neue Komponente" erzeugt, diese Komponente liegt in der Toolpalette und Du willst diese im Style-Editor einem TLayout-Object hinzufügen?

Oder hast Du "nur" ein neues TLayout-Object im Style-Editor erzeugt und hast dort Probleme mit der Verwendung von anderen Komponenten?

Und was meinst Du mit "den darunter liegenden Komponenten"?

Evtl. kannst Du ja mal einen Screenshot machen, der die Situation etwas mehr verdeutlicht.

Rynardald 23. Feb 2015 08:22

AW: FMX Styleeditor eigene Komponenten einfügen
 
Möglicherweise habe ich das Wort Komponente ein bisschen missbräuchlich verwendet.
Was ich habe ist ein Objekt welches das Objekt TLayout erweitert und als Property unter anderem auch TLabels hat ('Darunter liegende Komponenten'). Diese Objekt befindet sich nicht in der Toolpalette.

Harry Stahl 23. Feb 2015 08:50

AW: FMX Styleeditor eigene Komponenten einfügen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Also so ähnlich wie anliegende Screenshots es zeigen?

In Layout1.jpg sieht man den angewendeten Style im Strukturfenster (panel1) und im Formulardesigner. Das Layout dafür habe ich von Grund auf nur im Style-Editor angelegt (Ergebnis siehe Layout2.jpg). Alternativ kann man auch einige Objekte auf das Formular schmeißen, dort mit der rechten Maustaste drauf klicken und "Benutzerdefinierten Style" auswählen.

Wichtig ist, dass man mit einem TLayout anfängt und alles weitere darein packt, anderenfalls kann es Schwierigkeiten beim Zugriff auf die Komponenten des Layouts (z.B. mit FindStyleResource) geben.

Das Positionieren der Komponenten innerhalb des Layouts funktioniert leider nicht vollständig mit der Maus. Mit der Maus kann man nur aus der Tool-Palette Komponenten in das Strukturfenster auf der linken Seite ziehen. Mit der Maus kann man auch einzelne Objekte in ein anderes ziehen, so dass dieser sozusagen der Container für das andere Objekt ist. Im Beispiel habe ich das TRectangle rosa eingefärbt. Da es nicht mehr durchsichtbar ist, muss das Label "über" dem TRectangle liegen, man zieht das TLabel also in das TRectangle rein.

Die genaue Positionierung geht aber nicht mit der Maus. Bei einigen Objekten geht es ein wenig, bei einigen gerät alles ziemlich durcheinander. Am besten man positioniert daher von Anfang an auf der linken Seite im Objektinspektor, indem man dort die entsprechenden Werte für Postion.x und Position.y bzw. Height und Width einträgt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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