Tiens, j'en fais profiter la communauté, j'ai encore passé 2 heures là-dessus avant de me rendre compte de la blagounette suivante :
si un contrôle a sa propriété Visible à False à la conception, ben il va rester invisible, quoi qu'on fasse...
Enfin, ça a peut-être évolué depuis ma version de LO : 3.5.4.2
L'astuce consiste donc à ne pas le mettre invisible et à changer ça à l'arrache dans le main, si on veut que la form démarre avec ces contrôles-là invisibles.
Genre :
et la boucle sur l'état du Checkbox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Dim oCkbModif as Object ' pour accéder au CheckBox qui pilote la visibilité de 3 autres contrôles Sub Main DialogLibraries.LoadLibrary("Standard") SaisieInfos = CreateUnoDialog( DialogLibraries.Standard.SaisieInfos ) ' 3 lignes pour faire prendre en compte les composants invisibles ' au bas de la feuille : si invisibles à la conception, ils le restent... :-( oCkbModif = SaisieInfos.GetControl("ckbModif") oCkbModif.State = "0" ckbModifChange SaisieInfos.Execute() 'boucle de messages genre Delphi End Sub
Enjoy,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 ' un label, une boîte de saisie numérique, et un bouton Sub ckbModifChange 'dim oCkbModif as Object, --> global dim oLabel5 as Object, oedNumLine as object, obtnModifier as object 'oCkbModif = SaisieInfos.GetControl("ckbModif") --> dans le Main oLabel5 = SaisieInfos.GetControl("Label5") oedNumLine = SaisieInfos.GetControl("edNumLine") obtnModifier = SaisieInfos.GetControl("btnModifier") if oCkbModif.State = "0" then oLabel5.Visible = False oedNumLine.Visible = False obtnModifier.Visible = False else oLabel5.Visible = True oedNumLine.Visible = True obtnModifier.Visible = True end if End Sub
Partager