DialogBox, dissimulation et redimensionnement de gadgets
Publié : ven. 17/févr./2023 21:29
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 :

construits ainsi :
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 :
avec pour retour :
et résultat graphique, le premier conteneur dissimulé mais le second demeuré à sa position initiale :

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 ?
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 :

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)
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 :

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 ?