[R] Modifier une GUI

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
nack94
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 13 juin 2016 19:42
Status : Hors ligne

[R] Modifier une GUI

#1

Message par nack94 »

Bonjour à tous,

Bien que je sois nouveau sur le forum, je vous confirme que tous les pré-requis avant de poster ont été effectué.
Bien sûr je n'ai peut être pas les bons mots clefs et je pense que le soucis et là.

Mon problème et le suivant :

j'ai une GUICtrlCreateTabItem qui posséde :

2 menus Combo
1 bouton

Lorsque je clic sur le bouton j'aimerai savoir s'il existe une possibilité de masquer les 2 menus et le bouton pour y afficher par exemple des checkbox ?

Je n'ai rien trouver à ce sujet, une aide serait la bienvenue.

Merci pour votre aide.

Edit : Je réouvre ce post car depuis la résolution de celui ci j'ai du mal à trouver les renseignements sur l'affichage ou non des éléments d'une GUI.

J'ai donc ma GUI comprenant 4 onglets.

Dans l'onglet "test" j'ai 2 menu déroulant et 1 bouton pour valider.

Lorsque je valide je parviens à cacher les éléments comme ceci :

Code : Tout sélectionner

	Func VEHIDE1()
   			GUICtrlSetState (5, $GUI_HIDE)
			GUICtrlSetState (6, $GUI_HIDE)
			GUICtrlSetState (7, $GUI_HIDE)
			GUICtrlSetState (9, $GUI_HIDE)
			GUICtrlSetState (10, $GUI_HIDE)
			GUICtrlSetState (11, $GUI_HIDE)
			GUICtrlSetState (12, $GUI_HIDE)
		 EndFunc
Par contre impossible d'afficher les éléments suivant qui doivent apparaitre.

Dois je recréer une GUI ? (je suis convaincu qu'il y a un autre moyen et c'est la raison pour laquelle je relance ce post.)

Merci pour votre aide.[/color]
Modifié en dernier par nack94 le sam. 10 sept. 2016 01:13, modifié 5 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Modifier une GUICtrlCreateTabItem

#2

Message par orax »

Bienvenue sur le forum !

Il y a GUICtrlSetState qui peut servir à masquer un contrôle.
GUICtrlSetState(controlID, $GUI_HIDE)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
nack94
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 13 juin 2016 19:42
Status : Hors ligne

Re: [..] Modifier une GUICtrlCreateTabItem

#3

Message par nack94 »

Merci j'avais en effet pas compris cette fonction par contre cette fonction ne marche pas si j'ai 2 onglets ?

Exemple :

Onglet 1
on affiche 1 menu Combo
Onglet 2
on affiche le menu du combo 1

Je viens d'essayer mais cela ne fonctionne pas.
Je vais déjà faire mes recherches et passé ce sujet en résolu.

Merci pour votre aide et bonne journée.
nack94
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 13 juin 2016 19:42
Status : Hors ligne

Re: [..] Modifier une GUI

#4

Message par nack94 »

Edit en rouge post 1

Merci pour votre aide.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2109
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Modifier une GUI

#5

Message par TommyDDR »

Avez vous le code complet ?
Utilisez-vous vraiment des nombre en dur dans vos GUICtrlSetState ?
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
nack94
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 13 juin 2016 19:42
Status : Hors ligne

Re: [..] Modifier une GUI

#6

Message par nack94 »

Bonjour,

Désoler pour le retour tardif,
Malade en ce début de semaine je n'ai pu mettre le code en forme pour vous le transmettre je m'occupe de cela dans les 48h afin de vous le transmettre.

Merci pour votre aide

Edit :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>

; ########## Début de la création de la GUI VEAN ##########
Global $ve, $an ; création des variables
$GUI1 = GUICreate("Logiciel", 540, 527, 243, 152)
$tab = GUICtrlCreateTab(9, 8, 521, 505)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT) ; création de la première gui

;Contenu Onglet 1
$Srv_tab = GUICtrlCreateTabItem("Onglet 1")
$Gr_Srv_Lap = GUICtrlCreateGroup("Liste 1", 24, 56, 435, 97)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
$Srv_Cmb_L = GUICtrlCreateCombo("(aucun)", 99, 96, 350, 25)
$ve = GUICtrlSetData(-1, "Choix1|Choix2|Choix3", "")
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Label1 = GUICtrlCreateLabel("liste :", 37, 100, 59, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$grp_printer = GUICtrlCreateGroup("Liste 2", 24, 168, 435, 113)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
$Label2 = GUICtrlCreateLabel("liste :", 40, 211, 59, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$combo2 = GUICtrlCreateCombo("(aucun)", 99, 208, 350, 25)
$an = GUICtrlSetData(-1, "Choix1|Choix2|Choix3")
$Btn_select1 = GUICtrlCreateButton("Veuillez choisir une selection.", 104, 320, 308, 86, $BS_FLAT)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("") ; création des listes combobox
;---------------------------------------------------------------------------------------------------------------
$Srv_tab1 = GUICtrlCreateTabItem("Onglet 2")
$Gr_Srv_Lap1 = GUICtrlCreateGroup("Liste 1", 24, 56, 435, 97)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
$Srv_Cmb_L1 = GUICtrlCreateCombo("(aucun)", 99, 96, 350, 25)
$ve1 = GUICtrlSetData(-1, "Choix1|Choix2|Choix3", "")
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$Label3 = GUICtrlCreateLabel("liste :", 37, 100, 59, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$grp_printer1 = GUICtrlCreateGroup("Liste 2", 24, 168, 435, 113)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
$Label4 = GUICtrlCreateLabel("liste :", 40, 211, 59, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
$combo3 = GUICtrlCreateCombo("(aucun)", 99, 208, 350, 25)
$an1 = GUICtrlSetData(-1, "Choix1|Choix2|Choix3")
$Btn_select2 = GUICtrlCreateButton("Veuillez choisir une selection.", 104, 320, 308, 86, $BS_FLAT)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("") ; création des listes combobox
;---------------------------------------------------------------------------------------------------------------
$Srv_tab2 = GUICtrlCreateTabItem("Onglet 3")
$Srv_tab3 = GUICtrlCreateTabItem("Onglet 4")
; ########## Fin de la création de la GUI VEAN ##########

GUISetState(@SW_SHOW, $GUI1) ; On affiche la GUI4

While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
        Case $GUI_EVENT_CLOSE ; Si clic fermeture fenêtre GUI1 ou GUI2 on sort
            Exit
		 Case $Btn_select1 ; Si clic sur le bouton $Btn1
			VEHIDE1()
		 Case $Btn_select2
			VEHIDE2()
    EndSwitch
WEnd			


		 Func VEHIDE1()
   			GUICtrlSetState (5, $GUI_HIDE)
			GUICtrlSetState (6, $GUI_HIDE)
			GUICtrlSetState (7, $GUI_HIDE)
			GUICtrlSetState (9, $GUI_HIDE)
			GUICtrlSetState (10, $GUI_HIDE)
			GUICtrlSetState (11, $GUI_HIDE)
			GUICtrlSetState (12, $GUI_HIDE)
		 EndFunc

		 Func VESHOW1()
   			GUICtrlSetState (5, $GUI_SHOW)
			GUICtrlSetState (6, $GUI_SHOW)
			GUICtrlSetState (7, $GUI_SHOW)
			GUICtrlSetState (9, $GUI_SHOW)
			GUICtrlSetState (10, $GUI_SHOW)
			GUICtrlSetState (11, $GUI_SHOW)
			GUICtrlSetState (12, $GUI_SHOW)
		 EndFunc

		 Func VEHIDE2()
   			GUICtrlSetState (15, $GUI_HIDE)
			GUICtrlSetState (16, $GUI_HIDE)
			GUICtrlSetState (17, $GUI_HIDE)
			GUICtrlSetState (19, $GUI_HIDE)
			GUICtrlSetState (20, $GUI_HIDE)
			GUICtrlSetState (21, $GUI_HIDE)
			GUICtrlSetState (22, $GUI_HIDE)
			GUICtrlSetState ($choix1, $GUI_SHOW)
			MsgBox($MB_SYSTEMMODAL, "State and text of the menuitem", "state:" & $choix1)
		 EndFunc

		 Func VESHOW2()
   			GUICtrlSetState (15, $GUI_SHOW)
			GUICtrlSetState (16, $GUI_SHOW)
			GUICtrlSetState (17, $GUI_SHOW)
			GUICtrlSetState (19, $GUI_SHOW)
			GUICtrlSetState (20, $GUI_SHOW)
			GUICtrlSetState (21, $GUI_SHOW)
			GUICtrlSetState (22, $GUI_SHOW)
		 EndFunc
		 
		 Func B1()
			GUISetState(@SW_HIDE, $GUI3_1) ; On Masque la GUI 3
            GUISetState(@SW_SHOW, $GUI1) ; On affiche le GUI 4

		 While 1
			$msg = GUIGetMsg()

        Switch $msg
        Case $GUI_EVENT_CLOSE ; Si clic fermeture fenêtre GUI1 ou GUI2 on sort
            Exit
	    Case $BtnOK ; Si clic sur le bouton $Btn1
			GUISetState(@SW_HIDE, $GUI1) ; On Masque la GUI 4

			        If $msg = $Btn_select1 Then
            MsgBox($MB_SYSTEMMODAL, "Logiciel", "Votre Toyota " & GUICtrlRead($Cb1) & " de " GUICtrlRead($Cb2)) ; display the selected listbox entry
            $iMenustate = GUICtrlRead($GUI1) ; return the state of the menu item
            $sMenutext = GUICtrlRead($GUI1, $GUI_READ_EXTENDED) ; return the text of the menu item
            MsgBox($MB_SYSTEMMODAL, "State and text of the menuitem", "state:" & $iMenustate & @CRLF & "text:" & $sMenutext)

        EndIf

        EndSwitch
	 WEnd
	EndFunc

Donc comme je l'indique je souhaiterai sélectionner le choix 1 dans la première liste le choix 2 dans la 2eme puis valider mon choix.
Par la suite on constate que tous les éléments s'effacent mais je n'arrive pas à afficher d'autres éléments.
(Après il faudra que je crée un if car si liste 1 choix 1 et liste 2 choix 2 alors on montre résultat 3, si liste 1 choix 2 et liste 2 choix 3 on montre résultat 4 etc ... )

Dois je recréer une GUI, où est ce que je crée cela dans la GUI déjà existante, j'avoue que sur ce côté là je ne saisi pas comment je peux m'y prendre et surtout comment l'afficher ?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Modifier une GUI

#7

Message par orax »

À mon avis, il serait préférable de ne pas mettre en dur les identifiants (nombres) des contrôles.
Par exemple dans : GUICtrlSetState(123, $GUI_HIDE), 123 devrait être remplacé par la variable correspondante.
GUICtrlSetState($LabelX, $GUI_HIDE)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
nack94
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 13 juin 2016 19:42
Status : Hors ligne

Re: [..] Modifier une GUI

#8

Message par nack94 »

Bonjour mon problème n'étant pas résolu je me permet de revenir poster.

Dans le code ci dessus je souhaiterai lorsque je clic sur le bouton conserver ma fenêtre d'onglet et cacher $Gr_Srv_Lap

Pour compléter la suite du projet je souhaiterai créer un 2éme groupe qui serait cacher à l'ouverture de l'exe et qui apparaîtrait quand on clic sur le bouton en masquant le 1er groupe.

Edit : Je m'exprime très mal :X

En faite je souhaiterai effacer le contenu de l'onglet pour afficher un autre contenu dans se même onglet.
Répondre