Page 1 sur 1

Problème à l'utilisation de WM_Notify.

Posté : dim. 17 avr. 2016 14:09
par Koudou
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.

Re: Problème à l'utilisation de WM_Notify.

Posté : dim. 17 avr. 2016 19:01
par mikell
C'est une ListBox ou une ListView ?

Re: Problème à l'utilisation de WM_Notify.

Posté : dim. 17 avr. 2016 20:18
par walkson
Je cherche à gérer les double-clics sur les items d'une ListBox
:mrgreen: ...........Je :arrow:

Re: Problème à l'utilisation de WM_Notify.  

Posté : dim. 17 avr. 2016 21:45
par mikell
@watson
Ma question n'est pas anodine malgré les apparences :mrgreen:
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 :wink:

Re: Problème à l'utilisation de WM_Notify.

Posté : lun. 18 avr. 2016 07:45
par Koudou
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

Re: Problème à l'utilisation de WM_Notify.

Posté : lun. 18 avr. 2016 09:58
par mikell
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
:wink:

@warmson
Bien vu mikell !
:P

Re: Problème à l'utilisation de WM_Notify.

Posté : lun. 18 avr. 2016 10:52
par Koudou
Waou j'ai honte. :oops: Il y avait tout dans l'aide : la fonction correcte et les messages gérés (tous ?) dont le double-click !!!

Merci encore !

Re: Problème à l'utilisation de WM_Notify.

Posté : lun. 18 avr. 2016 14:21
par orax
Oh ! mais c'est qu'il est trognon comme tout avec ses petites lunettes ! Gouzi-gouzi-gouzi...
:mrgreen: ...........Je :arrow: aussi.


Il y a aussi MSDN qui est la référence. MSDN – Control Messages

Re: Problème à l'utilisation de WM_Notify.

Posté : lun. 18 avr. 2016 15:39
par mikell
For $i = "wilson" to "vorax" step 1
Assign($i, :P , 2)
Next

Re: Problème à l'utilisation de WM_Notify.

Posté : lun. 18 avr. 2016 21:20
par walkson
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
:P
je :arrow: encore
:mrgreen:

Re: Problème à l'utilisation de WM_Notify.

Posté : lun. 18 avr. 2016 22:00
par orax
walkson a écrit :(je pense justement à Orarx et ses bits)
:lol: Je ne vois pas de quoi tu parles ! Je ne m'en souviens pas. Il faut dire que j'ai une petite... mémoire.

Re: Problème à l'utilisation de WM_Notify.

Posté : mar. 19 avr. 2016 01:28
par jchd
Ça aide bien, parfois...