Page 1 sur 1
[R] Afficher le nom d'un contrôle en cliquant dessus
Posté : mar. 11 oct. 2016 01:07
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
#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)Assign("Label" & 1, GUICtrlCreateLabel("Label1", 40, 80, 36, 17))Assign("Label" & 2, GUICtrlCreateLabel("Label2", 192, 72, 36, 17))GUISetState(@SW_SHOW)While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $BQuitter Exit EndSwitchWEnd
Re: [..] Afficher le nom d'un contrôle en cliquant dessus
Posté : mar. 11 oct. 2016 01:35
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 EndSwitchWEnd
Re: [..] Afficher le nom d'un contrôle en cliquant dessus
Posté : mer. 12 oct. 2016 18:21
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
Re: [..] Afficher le nom d'un contrôle en cliquant dessus
Posté : jeu. 13 oct. 2016 23:38
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