Event Double Clic sur CListBox vide (Visual C++ 6)

Signaler
Messages postés
20
Date d'inscription
vendredi 25 juillet 2003
Statut
Membre
Dernière intervention
25 mars 2009
-
Messages postés
20
Date d'inscription
vendredi 25 juillet 2003
Statut
Membre
Dernière intervention
25 mars 2009
-
Bonjour à tous!
Voilà j'ai un petit soucis :
Sous Visual C++ je souhaite que lors du double clic de l'utilisateur sur une CListBox, le programme réagisse et fasse apparaître une boite de dialogue. Lorsque cette liste dispose d'au moins un élément, pas de problème. Néanmoins, ce mode de traitement ne peut pas fonctionner lorsque la liste est vide puisque le message ON_LBN_DBLCLK n'est envoyé que lors de l'appui sur un élément du CListBox (donc pas d'élément, ben.... pas d'event).
Donc est-ce que quelqu'un saurait comment gérer le double clic sur la liste en elle-même et non pas sur une élément de celle-ci (puisque il peut arriver qu'il n'y en ait pas) ?

Merci d'avance :big)

(par contre l'aperçu ne fonctionnant pas il y a peut être des erreurs de syntaxe)
--------------------------------------------------------
Mangez des gnous!

4 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
J'ai fait demo d'interception des clics sur Listbox ici:
http://www.cppfrance.com/code.aspx?ID=10465

par contre c'est sans mfc donc beaucoup plus simple, a toi de le traduire mais tu as deja le principe qui est le sous classement.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
20
Date d'inscription
vendredi 25 juillet 2003
Statut
Membre
Dernière intervention
25 mars 2009

Merci pour ta réponse ça m'a permis de découvrir 2-3 trucs sur la gestion des messages que je connaissais pas du tout (notemment avec le sous-classement) mais voilà : Comment faire pour associer à ma vue une autre fonction de gestion de message que le WindowProc défaut? Si j'ai bien compris, dans ton exemple tu le fais en passant ta fonction en paramètre de DialogBox(...) mais peut-on changer la fonction appelée ailleurs dans un programme?
Dans mon cas, c'est un SDI et la vue est en fait un CFormView dans lequel se trouvent tous mes contrôles ( tout ça créé au lancement par CSingleDocTemplate(...) ). Et vu le mode de création je ne vois pas comment faire pour y associer un WindowProc que j'aurais créé.
Est-ce que tu aurais une idée pour ça?

Cordialement,
Gillou, Roi des Gnous.
------------------------------------------------------------
Mangez des gnous!
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Pour sur que j'ai une idee, le plus simple est carrement de te passer des MFC, ne te parait pas ?

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
20
Date d'inscription
vendredi 25 juillet 2003
Statut
Membre
Dernière intervention
25 mars 2009

lol BruNews! Y a pas a dire t'aime vraiment pas les MFC toi :)
Je suis sur ce projet depuis 4 Mois, et j'ai tout développé en MFC vu que je connaissai que le C++ de base au début donc je peux pas tout réécrire maintenant. Par contre ton article sur le sous-classement m'a bien aidé même si je n'utilise pas ton code puisque ça m'a donné le vocabulaire nécessaire pour aller faire quelques recherches. Maintenant j'utilise une classe de Paul DiLascia, CMsgHook, http://www.microsoft.com/msj/0397/mfcp2/mfcp2.aspx, et même si j'ai encore un peu de mal à récupérer un message correct j'avance. :big)

Mangez des gnous!