[R] Récupérer un handle dans GUI fille crée par..

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
benjahinfo
Niveau 3
Niveau 3
Messages : 43
Enregistré le : mar. 08 nov. 2011 11:05
Status : Hors ligne

[R] Récupérer un handle dans GUI fille crée par..

#1

Message par benjahinfo »

... une fonction.

Bonjour,
Ce que je souhaite faire c'est d'avoir une GUI parent,
Elle crée par une fonction une GUI fille, et ça autant de fois que l'utilisateur le souhaite, c'est à dire que le nombre de GUI filles lancées simultanément n'ont pas de limite.

Jusque là tout va bien,
Mais comment récupérer le $handle d'un des contrôles d'une des GUI filles ?
Le but étant de récupérer ce qui se trouverait dans un edit, par exemple.
Modifié en dernier par benjahinfo le jeu. 12 juil. 2012 20:36, modifié 1 fois.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Récupérer un handle dans GUI fille crée par..

#2

Message par timmalos »

Le plus simple, vu qu'avec AutoIt ce ne sont pas de vrais peres/fils c'est l'utilisation d'une variable globale, par exemple

Assign("resultat_fenetre_fille_Nb"&$Numero,"resultat",2) ; 2 Sinignifie qu'on declare en Global


Et dans votre fenetre mere pour avoir le resultat de la fenetre fille 2 par exemple:

Eval ("resultat_fenetre_fille_Nb2")


Sinon, il vous faudra gerer un tableau dans le pere contenant tous les handle de ses filles, et d'aller chercher les resultats à coup de fonctions Win_ et Control_
Mais vous feriez mieux d'utiliser un truc interne que cette méthode externe.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Récupérer un handle dans GUI fille crée par..

#3

Message par mikell »

Le plus simple serait peut-être de faire une array 2D où on stocke tous les handles (lignes = guis , colonnes = controles)
Avec lors de la création une gestion du genre

Code : Tout sélectionner

Redim $array[$n+1][10]
$array[$n][0] = GuiCreate ...   ; handle gui
Local $edit = GuiCtrlCreateEdit .. 
$array[$n][1] = GuiCtrlGetHandle($edit)   ; handle edit de cette gui
etc 
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
benjahinfo
Niveau 3
Niveau 3
Messages : 43
Enregistré le : mar. 08 nov. 2011 11:05
Status : Hors ligne

Re: [..] Récupérer un handle dans GUI fille crée par..

#4

Message par benjahinfo »

Et bien merci pour toutes ces informations ! [R]

Le méthode de Mikell me semble plus accessible, et je comprends déjà comment elle fonctionnerait.
Mais ne maitrisant pas les fonctions Assign() et Eval(), j'aurais bien voulu avoir un petit exemple Timmalos si c'est pas trop demandé ^^.

NB: je ne peux pas modifier mon titre afin de mettre un 'R', lorsque j'écris ce message, je peux effacer le titre mais pas le modifier. J'espère ne pas avoir abusé de ceci.
Répondre