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

gillou1664 Messages postés 20 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 25 mars 2009 - 14 juin 2004 à 09:08
gillou1664 Messages postés 20 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 25 mars 2009 - 16 juin 2004 à 07:41
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 juin 2004 à 10:30
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++
0
gillou1664 Messages postés 20 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 25 mars 2009
15 juin 2004 à 09:13
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!
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 juin 2004 à 09:22
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++
0
gillou1664 Messages postés 20 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 25 mars 2009
16 juin 2004 à 07:41
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!
0
Rejoignez-nous