Page 1 sur 1

[R] Interfacer le Menu

Posté : mer. 04 févr. 2009 14:35
par TurT
Bonjour,

Je travail sur un projet qui consiste a créer un programme permettant d'installer des logiciels sur une machine local et en remote.
Je travail actuellement sur l'interface et j'aurais besoin d'aide pour mon menu.

Le Menu se présente ainsi:

Code : Tout sélectionner

Titre du menu -> Fichier     Modules     
      Submenus -> Quitter     Local
          " "  ->             Remote
                              Admin
 
Je souhaite pouvoir changer les controls, labels, buttons et autres sur la fenetre (en dessou du menu) en fonction du choix du module: local, Remote ... dans le Menu.

Est ce que cela est possible?

j'ai regardé dans la doc et l'aide pour mettre les controls en @sw_hide mais rien trouvé. A part pour les buttons :

Code : Tout sélectionner

 _GUICtrlButton_Show($btn, False)
Merci.

Re: Interfacer le Menu

Posté : mer. 04 févr. 2009 15:10
par BeCool
Merci d'éditer le titre de votre post en accord avec les règles de présentation d'un message.

Pour votre problème, pourquoi ne pas créer tout simplement une seconde fenêtre avec le menu comme vous le souhaitez ?

Re: [..]Interfacer le Menu

Posté : mer. 04 févr. 2009 15:48
par TurT
M'encombrer avec d'autres fenêtres me gène j'aimerais rendre les controls de la fenêtre active dynamiques.
Pour ne pas pouvoir ouvrir 2 fenêtres a la fois mon but est de limité l'utilisateur dans le module qu'il sélectionne: Local, Remote, Admin.

Re: [..]Interfacer le Menu

Posté : mer. 04 févr. 2009 15:52
par BeCool
Essayez alors de regarder du coté de GUICtrlSetData

Re: [..]Interfacer le Menu

Posté : mer. 04 févr. 2009 16:03
par TurT
GUICtrlSetData Modifie les datas, le texte, la valeur des control, mais pas l'affichage d'après ce que j'ai lu dans la doc..

Re: [..]Interfacer le Menu

Posté : mer. 04 févr. 2009 16:21
par BeCool

Code : Tout sélectionner

GUICtrlSetData($Fonction_label_info, IniRead ( $filee, "", "Fonction", ""))
Ici il modifie le label Fonction (qui est vide) par la valeur Fonction qu'il lit dans un fichier.ini

Alors je pense qu'il peut être en mesure de modifier ce que vous désirez.

(GUICtrlSetData Modifie les données d'un contrôle.)

Au pire, vous devriez trouver votre bonheur ICI

Re: [..]Interfacer le Menu

Posté : jeu. 05 févr. 2009 23:58
par Iste
TurT a écrit :GUICtrlSetData Modifie les datas, le texte, la valeur des control, mais pas l'affichage d'après ce que j'ai lu dans la doc..
Non effectivement, avec les fonctions de base on peut uniquement modifier les "data" qui sont assez limitées.
Mais,rien ne t'empeche de GuiCtrlDelete() le bouton (par exemple), et d'en recreer un autre aussitôt !

C'est peut etre pas la meilleur solution, il faut egalement recreer les infobules et sousmenus qui vont avec, mais ca marche

Re: [..] Interfacer le Menu

Posté : ven. 06 févr. 2009 18:54
par TurT
C'est une bonne idée je vais travailler la dessus :)
Merci!

Re: [..] Interfacer le Menu

Posté : mer. 11 févr. 2009 09:51
par TurT
Bon après de nombreux essais je ne suis pas parvenu a ce que je recherche..

J'ai créer des fonctions pour des groupes de controls, une fonction qui les créer une autre qui les supprimes. Quand j'en appel une sa marche la fonction affiche les controls, mais quand j'appelle sa fonction inverse celle qui les supprimes j'ai une erreur: "Variable used without being declared." en indiquant un control, ce qui est logique d'un coté mais je n'est pas trouvé de solution..

Je débute dans autoit donc il doit me manquer quelque chose ^^

Re: [R] Interfacer le Menu

Posté : mer. 11 févr. 2009 11:37
par TurT
Bon j'ai réussi!!

La solution:

je déclare tous les controls pour éviter les problèmes de déclaration de variables dans les fonctions.
Puis j'ai créé les fonctions qui change seulement l'état: Hide/show des controls
exemple:
► Afficher le texte

Pour ceux qui veulent voir le résultat avec toute l'interface qui le demande je posterais le code entier.

Merci pour votre aide!