Bonjour,
j'ai pris comme modèle une réalisation en Lazarus, réalisée en 2 coups de cuillère à pot, et même sans cuillère.
Donc, 2 boutons ou images en haut à gauche et en haut à droite à 10 et 10 des bords, 2 labels alignés au centre, et une barre de progression en bas centrée horizontalement tout comme le label qui est placé en-dessous.
En Firemonkey, il m'a semblé, documentation trop succincte à l'appui, que le point de départ était un GridPanelLayout, client de la Form. J'ai configuré initialement 2 lignes et 2 colonnes à 50%. Mais quand il a fallu placer les boutons à 10 des bords, j'ai été obligé d'utiliser 2 layouts pour que Margin fonctionne. En réalité, c'est le Margin du layout qui fonctionne parce que le Margin du bouton n'a aucune incidence dans le GridPanelLayout. Puis j'ai placé les 2 boutons dans leur layout respectif. Mais alors, les ancres des boutons ne les placent plus automatiquement dans le Designer : il faut les placer à la main. Par contre, en exécution, ils les maintiennent en position. Je trouve cela mal foutu au point que je me demande si je suis dans les clous ?
Mais c'est après que cela me pose vraiment problème : je pensais qu'avec le RowSpan et le Colspan, il était possible de placer le GridLayout1 au point central des 2 lignes et des 2 colonnes. Mais il semble que le fait que le layout1 et le layout2 existent (donc utilisent la Row 0) empêche de placer GridLayout1 au centre. Il faudrait donc ajouter une troisième ligne et le GridLayout1 occuperait le centre de la ligne 1 (RowSpan = 2). C'est cela le principe ? Là encore, je doute parce que créer une ligne supplémentaire augmente la rigidité notamment en terme de superposition de l'assemblage.
En supposant que l'image (en place de Button2) en haut à droite déborde (puisse déborder sur la ligne centrale, la Row1 du GridPanelLayout1, ligne semble-t-il nécessaire) comme je le fais en Lazarus, cela devient un véritable casse-tête. On peut superposer des layouts ? Visiblement pas dans des cellules de GridPanelLayout.
Y a quelqu'un qui a un tuto assez sophistiqué sur la question : les principes, les limites, des exemples que l'on peut assembler.
Merci. Zac.
Partager