Aide sur les Interfaces Graphique Utilisateurs (GUI).
Koudou
Niveau 1
Messages : 8 Enregistré le : sam. 16 avr. 2016 22:43
Status :
Hors ligne
#1
Message
par Koudou » dim. 17 avr. 2016 14:09
Bonjour à tous.
Je cherche à gérer les double-clics sur les items d'une ListBox. Visiblement ça ne marche pas. Je ne vais pas mettre la totalité du script mais j'ai ceci :
Code : Tout sélectionner
GUIRegisterMsg($WM_NOTIFY, "WM_Notify")
;... ici le reste du script...
Func WM_Notify($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg, $wParam, $lParam
Local $tInfo, $iCode
$tInfo = DllStructCreate($tagNMHDR, $lParam)
$hWnd = HWnd(DllStructGetData($tInfo, "hWndFrom"))
$iCode = DllStructGetData($tInfo, "Code")
Switch $hWnd
Case GUICtrlGetHandle($list_Dir)
Switch $iCode
Case $NM_DBLCLK ; Double-clic sur la liste de répertoires.
MsgBox($MB_OK, "DBLCLK", "DBLCLK")
ListDirItemClicked()
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc
A l'exécution la fonction WM_Notify n'est même pas appelée. Quelqu'un peut-il m'expliquer ce qu'il manque pour que WM_Notify soit appelée ?
Merci.
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#2
Message
par mikell » dim. 17 avr. 2016 19:01
C'est une ListBox ou une ListView ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
walkson
Modérateur
Messages : 1020 Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status :
Hors ligne
#3
Message
par walkson » dim. 17 avr. 2016 20:18
Je cherche à gérer les double-clics sur les items d'une ListBox
...........Je
Fichiers joints
mimi.jpg (8.28 Kio) Vu 6618 fois
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#4
Message
par mikell » dim. 17 avr. 2016 21:45
@watson
Ma question n'est pas anodine malgré les apparences
Si c'est une listview, le code proposé est à peu près correct
Si c'est une listbox, ça se gère avec du wm_command, pas du wm_notify
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Koudou
Niveau 1
Messages : 8 Enregistré le : sam. 16 avr. 2016 22:43
Status :
Hors ligne
#5
Message
par Koudou » lun. 18 avr. 2016 07:45
Bien vu mikell !
J'ai remplacé la fonction WM_NOTIFY par une WM_COMMAND et ça marche (avec LBN_DBLCLCK comme message).
Question subsidiaire... Où peut-on trouver une documentation sur tout ça ? Notamment quel fonction pour tel ou tel contrôle et quels messages sont gérés ?
Merci en tout cas
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#6
Message
par mikell » lun. 18 avr. 2016 09:58
Tu peux trouver tout ça dans les exemples du fichier d'aide pour _GUICtrl*_Create :
_GUICtrlListBox_Create, _GUICtrlListView_Create, _GUICtrlEdit_Create (edits et inputs), etc
@warmson
Bien vu mikell !
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Koudou
Niveau 1
Messages : 8 Enregistré le : sam. 16 avr. 2016 22:43
Status :
Hors ligne
#7
Message
par Koudou » lun. 18 avr. 2016 10:52
Waou j'ai honte.
Il y avait tout dans l'aide : la fonction correcte et les messages gérés (tous ?) dont le double-click !!!
Merci encore !
orax
Modérateur
Messages : 1479 Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status :
Hors ligne
#8
Message
par orax » lun. 18 avr. 2016 14:21
Oh ! mais c'est qu'il est trognon comme tout avec ses petites lunettes ! Gouzi-gouzi-gouzi...
...........Je
aussi.
Il y a aussi MSDN qui est la référence.
MSDN – Control Messages
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#9
Message
par mikell » lun. 18 avr. 2016 15:39
For $i = "wilson" to "vorax" step 1
Assign($i,
, 2)
Next
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
walkson
Modérateur
Messages : 1020 Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status :
Hors ligne
#10
Message
par walkson » lun. 18 avr. 2016 21:20
Bonsoir,
@ Mikell
j'assume mes C.....
J'en connais qui les ont effacées... (je pense justement à Orarx et ses bits)
La prochaine fois , je fais un imprime écran
je
encore
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
orax
Modérateur
Messages : 1479 Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status :
Hors ligne
#11
Message
par orax » lun. 18 avr. 2016 22:00
walkson a écrit : (je pense justement à Orarx et ses bits)
Je ne vois pas de quoi tu parles ! Je ne m'en souviens pas. Il faut dire que j'ai une petite... mémoire.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
jchd
AutoIt MVPs (MVP)
Messages : 2273 Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status :
Hors ligne
#12
Message
par jchd » mar. 19 avr. 2016 01:28
Ça aide bien, parfois...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.