Page 1 sur 1

DialogBox, dissimulation et redimensionnement de gadgets

Publié : ven. 17/févr./2023 21:29
par boddhi
Bonsoir à tous,

Je suis confronté à un os concernant mon outil 'Tables des caractères' et l'utilisation des DialogBox.
Ci-dessous, le résultat graphique de la partie haute de l'interface comprenant deux conteneurs. Le premier contenant des boutons texte et le second des boutons image :
Image

construits ainsi :

Code : Tout sélectionner

<container id='#CONTENEUR1' name='CONTENEUR1' expand='yes' margin='left:0'>
<container id='#CONTENEUR2' name='CONTENEUR2' expand='yes' margin='left:0'>

L'idée est de permettre à l'utilisateur de choisir entre l'un ou l'autre type de boutons.
A cette fin, ma démarche consiste à vouloir cacher l'un ou l'autre des conteneurs et faire remonter le contenu restant dans l'interface.
J'ai donc inclus dans mon code :

Code : Tout sélectionner

PosYFConteneur1.l=GadgetY(#CONTENEUR1)
PosYFConteneur2.l=GadgetY(#CONTENEUR2)
HauteurConteneur1.u=GadgetHeight(#CONTENEUR1)
HauteurConteneur2.u=GadgetHeight(#CONTENEUR2)

Debug "Avant"
Debug "PosYFConteneur1 : "+PosYFConteneur1
Debug "PosYFConteneur2 : "+PosYFConteneur2

; Ici, je souhaite cacher le 1er conteneur et faire remonter le 2e conteneur ainsi que les suivants :
HideGadget(#CONTENEUR1,#True) ; Je cache le 1er conteneur
ResizeGadget(#CONTENEUR2,#PB_Ignore,PosYFConteneur1,#PB_Ignore,#PB_Ignore) ; Je tente de faire remonter le 2e conteneur à la position du 1er
ResizeGadget(#CONTENEUR3,#PB_Ignore,GadgetY(#CONTENEUR3)-HauteurConteneur1,#PB_Ignore,GadgetHeight(#CONTENEUR3)+HauteurConteneur1) ; J'adapte le positionnement Y et la hauteur du conteneur suivant

Debug "Après"
Debug "PosYConteneur1 : "+GadgetY(#CONTENEUR1)
Debug "PosYConteneur2 : "+GadgetY(#CONTENEUR2)
avec pour retour :

Code : Tout sélectionner

Avant
PosYFConteneur1 : 8
PosYFConteneur2 : 73
Après
PosYConteneur1 : 8
PosYConteneur2 : 8
 
et résultat graphique, le premier conteneur dissimulé mais le second demeuré à sa position initiale :
Image
alors que j'ai bien un retour de valeur 8 pour son emplacement vertical.

Selon vous, est-ce une mauvaise approche logicielle ? une mauvaise construction du dialogue ?

Re: DialogBox, dissimulation et redimensionnement de gadgets

Publié : sam. 18/févr./2023 11:28
par Ar-S
la hauteur de ton rezise conteneur 3 n'aurait pas +HauteurConteneur1 en trop ?

Re: DialogBox, dissimulation et redimensionnement de gadgets

Publié : sam. 18/févr./2023 11:41
par Mesa
Peut-être la multibox de la bibliothèque Dialog:
multibox
**************************************************************************************

Une boîte avec de multiples éléments dans la même position.
Permet d'utiliser plusieurs conteneurs et de n'en montrer qu'un seul à la fois.
Peut contenir n'importe quel nombre d'éléments.
M.

Re: DialogBox, dissimulation et redimensionnement de gadgets

Publié : sam. 18/févr./2023 12:29
par boddhi
@Ar-S
Je ne crois pas. Le but étant que le Conteneur3 remonte de la hauteur du conteneur caché (-HauteurConteneur1) et s'agrandisse de la même hauteur (+HauteurConteneur1) pour emplir la fenêtre dont la taille, elle, ne varie pas.

@Mesa
J'ai essayé d'inclure les 2 conteneurs dans un 'multibox' mais j'obtiens le même résultat.