[R] Afficher le nom d'un contrôle en cliquant dessus

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
novembrezoulou
Niveau 4
Niveau 4
Messages : 53
Enregistré le : dim. 06 nov. 2011 14:06
Localisation : Joinville le pont
Status : Hors ligne

[R] Afficher le nom d'un contrôle en cliquant dessus

#1

Message par novembrezoulou »

Bonjour,
Comment afficher le nom de ces contrôles lors d'un clic dessus ?
J'ai choisi des étiquettes mais le problème est le même avec tout autre contrôle dont je souhaite afficher le nom.
Je pensais utiliser ControlGetHandle (suite à un guictrlread(étiquette)) mais ça ne semble pas convenir.
Je ne peux pas, non plus utiliser Eval puisque je n'accède pas au nom de mon contrôle.
Exemple : dans le code ci dessous, je voudrais faire apparaître "Label1" ou "Label2" lorsque je clique dessus...
Dans un masque de saisie, j'ai beaucoup de champs à servir (une trentaine) d'où le recours à une boucle "For" et à "assign"

Merci de vos lumières
► Afficher le texte
Modifié en dernier par novembrezoulou le jeu. 13 oct. 2016 23:39, modifié 1 fois.
L'aviation est un moyen de transport rapide pour gens pas pressés.
Plus on va moins vite, moins le temps est plus court...
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Afficher le nom d'un contrôle en cliquant dessus  

#2

Message par orax »

J'ai utilisé un tableau pour remplacer Assign. Ce code affiche le texte du contrôle.
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $Fenetre = GUICreate("Fenetre", 312, 290, 192, 124)
Global $BQuitter = GUICtrlCreateButton("Quitter", 64, 136, 145, 41)
Global $aLabels[4]
$aLabels[0] = GUICtrlCreateLabel("Label1", 40, 80, 36, 17)
$aLabels[1] = GUICtrlCreateLabel("Label2", 192, 72, 36, 17)
$aLabels[2] = GUICtrlCreateLabel("Label3", 192, 92, 36, 17)
$aLabels[3] = GUICtrlCreateLabel("Label4", 192, 112, 36, 17)
GUISetState(@SW_SHOW)

While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $aLabels[0] To $aLabels[3]
         ConsoleWrite("ID=" & $nMsg & " texte=" & GUICtrlRead($nMsg) & @CRLF)
      Case $GUI_EVENT_CLOSE, $BQuitter
         Exit
   EndSwitch
WEnd
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
novembrezoulou
Niveau 4
Niveau 4
Messages : 53
Enregistré le : dim. 06 nov. 2011 14:06
Localisation : Joinville le pont
Status : Hors ligne

Re: [..] Afficher le nom d'un contrôle en cliquant dessus

#3

Message par novembrezoulou »

Merci de cette solution
Étant en déplacement hors de France jusqu'à lundi soir, je vais la mettre en œuvre et la tester dès mon retour.
Je mettrai le post en résolu dès mes vérifications faites
L'aviation est un moyen de transport rapide pour gens pas pressés.
Plus on va moins vite, moins le temps est plus court...
novembrezoulou
Niveau 4
Niveau 4
Messages : 53
Enregistré le : dim. 06 nov. 2011 14:06
Localisation : Joinville le pont
Status : Hors ligne

Re: [..] Afficher le nom d'un contrôle en cliquant dessus

#4

Message par novembrezoulou »

Bonsoir,
Grâce à Teanviewer, j'ai pu accéder à mon ordi et implémenter le script.
C'est nickel et j'ai honte de ne pas avoir pensé à utiliser un tableau... :(
Je peux afficher soit le nom du label soit son contenu. Que demande le peuple !
Encore merci.
Je passe le post en résolu
L'aviation est un moyen de transport rapide pour gens pas pressés.
Plus on va moins vite, moins le temps est plus court...
Répondre