Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   FMX-Programmierung von TPanel (https://www.delphipraxis.net/204751-fmx-programmierung-von-tpanel.html)

Kurt Wallander 25. Jun 2020 12:11

FMX-Programmierung von TPanel
 
Moin,Moin,
ich will eine Anwendung in Delphi für Android erstellen und habe trouble mit den FMX-Bibliotheken. In meinem (früheren) Delphi-Leben habe ich recht häufig Panele verwendet. Nun habe ich nach tagelangen Wälzen von Hilfe und Tutorials immer noch nicht herausgefunden, wie ich die Farbe eines TPanel setzen oder in ihm einen Text platzieren kann. Gibt es da jemand, der schlauer ist als ich?
Gruß
Kurt

Sherlock 25. Jun 2020 12:23

AW: FMX-Programmierung von TPanel
 
Das funktioniert über die Styles. Das hier ist ein guter Einstieg: https://www.youtube.com/watch?v=j9XxM7W94p4

Sherlock

philipp.hofmann 25. Jun 2020 12:34

AW: FMX-Programmierung von TPanel
 
Als das mit der Farbe geht relativ einfach über ein OnApplyStyleLookup-Event:

Delphi-Quellcode:
procedure TicTrainerF.pVideoApplyStyleLookup(Sender: TObject);
var Rectangle: TRectangle;
begin
  if (firstResizeDone=false) then
    exit;
  Rectangle := (Sender as TFmxObject).Children[0] as TRectangle;
  Rectangle.Fill.Color := TAlphaColors.LightCyan;
end;
Text positioniere ich als TLabel auf dem TPanel, mit den von Sherlock vorgeschagenen Styles könnte es aber komfortabler gehen.

Harry Stahl 25. Jun 2020 14:58

AW: FMX-Programmierung von TPanel
 
Noch einfacher ist es, Du verwendest gleich ein TRectangle als Container, da kannst Du über die Eigenschaft "Fill" die Hintergrundfarbe setzen und über "Stroke" die Farbe des Rahmens....

TurboMagic 25. Jun 2020 20:27

AW: FMX-Programmierung von TPanel
 
Man bedenke: in FMX kann fast jedes Control container für ein anderes sein.
Du brauchst einen Button mit einem Image drauf?
Einfahc! Botton erstellen. Image erstellen und im Strukturpanel auf den Botton ziehen.
Danach nochmal passend auf dem Button ausrichten. Fertig.

Und das ist im Prinzip auch, was dir Harry Stahl mit dem rectanlge empfiehlt.

Sherlock 26. Jun 2020 08:44

AW: FMX-Programmierung von TPanel
 
Zu guter Letzt dann noch die Komponenten miteinander verschmelzen... Mir fehlt gerade der korrekte Ausdruck... und fertig.

Sherlock

Andreas L. 26. Jun 2020 09:00

AW: FMX-Programmierung von TPanel
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468214)
Noch einfacher ist es, Du verwendest gleich ein TRectangle als Container, da kannst Du über die Eigenschaft "Fill" die Hintergrundfarbe setzen und über "Stroke" die Farbe des Rahmens....

Allerdings hat die IDE Probleme mit dem platzieren von Controls auf Formen wie das TRectangle. Einfach ein Rectangle auf die Form. Egal wie groß, ob Align gesetzt oder nicht und anschließend ein anderes Control z. B. TButton aus der Tool-Palette auf das Rectangle ziehen. Das Control landet nicht auf dem Rectangle sondern auf dem Parent-Objekt oder der Form. Warum auch immer das so ist... :(

Sherlock 26. Jun 2020 09:21

AW: FMX-Programmierung von TPanel
 
In Firemonkey? Das ist mir aber noch nicht passiert.

Sherlock

Harry Stahl 26. Jun 2020 11:29

AW: FMX-Programmierung von TPanel
 
Zitat:

Zitat von Andreas L. (Beitrag 1468238)
Zitat:

Zitat von Harry Stahl (Beitrag 1468214)
Noch einfacher ist es, Du verwendest gleich ein TRectangle als Container, da kannst Du über die Eigenschaft "Fill" die Hintergrundfarbe setzen und über "Stroke" die Farbe des Rahmens....

Allerdings hat die IDE Probleme mit dem platzieren von Controls auf Formen wie das TRectangle. Einfach ein Rectangle auf die Form. Egal wie groß, ob Align gesetzt oder nicht und anschließend ein anderes Control z. B. TButton aus der Tool-Palette auf das Rectangle ziehen. Das Control landet nicht auf dem Rectangle sondern auf dem Parent-Objekt oder der Form. Warum auch immer das so ist... :(

Das hatte ich auch schon mal bei EMBA beanstandet, dass die User bei diesem Verhalten immer auf eine falsche Fährte geleitet werden. Mein Vorschlag war, dass man, wenn man die neue Komponente auf dem TRectrangle "malt", die dann auch direkt dort eingefügt wird oder mit einem Key-Modifier (z.B. gedrückte Strg-Taste) bewirken kann, dass ein anderes Control direkt in das TRectangle eingefügt wird (wenn man also nur per einfachen Doppelklick die neue Komponente einfügt).

Aktuell ist der einzige Weg, das neue Control über die Struktur-Liste in das TRectangle zu ziehen (Du packst es dort also mit der Maus und ziehst es in das TRectangle (also in der Strukturansicht) rein.

Rollo62 26. Jun 2020 13:44

AW: FMX-Programmierung von TPanel
 
Zitat:

Zitat von Harry Stahl (Beitrag 1468250)
Aktuell ist der einzige Weg, das neue Control über die Struktur-Liste in das TRectangle zu ziehen (Du packst es dort also mit der Maus und ziehst es in das TRectangle (also in der Strukturansicht) rein.

+1 Richtig, mache ich auch immer über die Struktur-Ansicht.
Finde ich sowieso viel sinnvoller und übersichtlicher,
weil das grafische Drag'n'Drop immer an seine Grenzen stossen wird.
Die Struktur ist aber immer korrekt, auch für gerade nicht sichtbare oder versteckte Elemente.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 Uhr.
Seite 1 von 2  1 2      

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