gbourgeois0019
Messages postés152Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention 2 juin 2008
-
19 juin 2006 à 17:12
gbourgeois0019
Messages postés152Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention 2 juin 2008
-
19 juin 2006 à 19:11
Salut,
Je voudrais intercepter le double-click dans un listbox. Je sais qu'il y a des dizaines de posts pour ca mais je les ai tous lus et ca ne marche pas ...
J'ai essayer de traiter le message WM_LBUTTONDBLCLK mais ca ne marche que dans la fenetre et pas dans le list-box.
J'ai essayer le message LBN_DBLCLK ... Ca ne marhce pas du tout !!
J'ai essayer de sous-classer le listbox et traiter les messages WM_LBUTTONDBLCLK ou LBN_DBLCLK dans ma procedure de listbox ... Rien du tout !!!
Je ne sais plus quoi faire !! Si quelqu'un pouvais m'aider !!!
gbourgeois0019
Messages postés152Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention 2 juin 20081 19 juin 2006 à 18:27
Ahhh... J'ai trouvé !! ;)
Je ne peut pas faire le GetDlgItem dans le case WM_INITDIALOG. Je le fais dans la fonction WinMain juste avant le ShowWindow.
Je ne sais pas pourquoi exactement mais chaque fois que j'essaie de faire une operation sur un item du dialog dans le case WM_INITDIALOG, comme par exemple envoyer un SetDlgItemText ou SendMessage cela ne marche pas. Il y a surement une explication logique ;a tout cela et si quelqu'un le sais j'aimerais bien savoir :P
Pour l'instant je contourne le problème et je me dis que c'est p-e parce que les controles ne sont pas encore initialisés lorsque le message WM_INITDIALOG est recu et c'est pour cela que ca ne marche pas ...
En tout cas, le problème est résolu pour l'instant
Merci beaucoup vecchio56 pour ton aide et à la prochaine
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20124 19 juin 2006 à 19:04
Salut,
L'explication logique, c'est que le message WM_INITDIALOG est recu
pendant l'appel a DialogBox()/CreateDialog(), et donc a ce moment la
hMainWnd n'a pas encore été affecté. Il faut que tu fasses tes
GetDlgItem()/SendMessage() en utilisant hwnd (le 1er param de ta
dialogproc).
gbourgeois0019
Messages postés152Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention 2 juin 20081 19 juin 2006 à 19:11
Ok ! Merci
________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !