begin process at 2012 05 29 13:15:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

Messages au Listbox [Win32]


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Messages au Listbox [Win32]

lundi 19 juin 2006 à 17:12:02 | Messages au Listbox [Win32]

gbourgeois0019

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 !!!

Merci à l'avance
lundi 19 juin 2006 à 17:15:33 | Re : Messages au Listbox [Win32]

vecchio56

Administrateur CodeS-SourceS
Si tu sous-classes, ca marche a tous les coups normalement
Essaie de te baser sur ce code
_____________________________________
Un éditeur de ressources gratuit pour Windows

lundi 19 juin 2006 à 17:22:46 | Re : Messages au Listbox [Win32]

gbourgeois0019

d'accord jai regarder mais mon code resseble pas mal a sa et ca ne marche pas !!

Voila ce que j'ai :

WNDPROC OldListBoxProc;

BOOL CALLBACK ListBoxProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    if ( message == WM_LBUTTONDBLCLK )
    {
        // Code ...
        return 0;
    }
    return CallWindowProc(OldListBoxProc, hwnd, message, wParam, lParam);
}

BOOL CALLBACK MainDlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
/***************  Initialisation du dialogue principal  ***************/
    case WM_INITDIALOG:
        OldListBoxProc = (WNDPROC)SetWindowLong(GetDlgItem(hMainWnd,IDC_PLAYLIST),GWL_WNDPROC, (LPARAM)ListBoxProc);
        break;
     }
       .....
}



Selon ce que jai pu voir dans ton code, le miens devrait marcher !! Mais non :P

Tu saurait me dire ce qui ne va pas ?
lundi 19 juin 2006 à 17:32:26 | Re : Messages au Listbox [Win32]

vecchio56

Administrateur CodeS-SourceS
Dans mon code, je remplace WM_RBUTTONUP par WM_LBUTTONDBLCLK et ca va très bien
Si ca se trouve ton code est exécuté sans que tu le voies

_____________________________________
Un éditeur de ressources gratuit pour Windows

lundi 19 juin 2006 à 17:39:21 | Re : Messages au Listbox [Win32]

gbourgeois0019

J'ai tester en mettant un Beep(2000,20);    ui me sert souvent pour debugguer :P et puis non il ne passe jamais dans ce bout de code ...
lundi 19 juin 2006 à 17:52:15 | Re : Messages au Listbox [Win32]

gbourgeois0019

Le problème ne pourrait-il pas venir de GetDlgItem(hMainWnd,IDC_PLAYLIST); ???

Je ne sais pas trop la , je cherche seulement des possibilités :P
lundi 19 juin 2006 à 17:57:57 | Re : Messages au Listbox [Win32]

vecchio56

Administrateur CodeS-SourceS
Ca c'est plutot a toi de me le dire. Regarde le retour de tes appels d'API, pour voir a quel endroit ca cloche

_____________________________________
Un éditeur de ressources gratuit pour Windows

lundi 19 juin 2006 à 18:27:29 | Re : Messages au Listbox [Win32]

gbourgeois0019

Réponse acceptée !
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





lundi 19 juin 2006 à 18:32:58 | Re : Messages au Listbox [Win32]

gbourgeois0019

La j'ai un autre probleme !!!

Le list-box ne traite plus les messages que je ne traite pas moi meme !

J'ai pourtant mis return CallWindowProc(OldListBoxProc, hwnd, message, wParam, lParam); à la fin de ma procédure de listbox ..
lundi 19 juin 2006 à 18:57:17 | Re : Messages au Listbox [Win32]

gbourgeois0019

Ok on oublie sa javais changé une propriété de mon listbox et c'est pour sa que ca marchait pas

1 2

Cette discussion est classée dans : listbox, messages, marche, essayer, win32


Répondre à ce message

Sujets en rapport avec ce message

Traitement des messages (win32) [ par Dorgendubal ] Bonjour,j'ai un petit probleme de traitement des messages sous win32 (sans MFC !). Quand je crée un nouvel objet (bouton, edit,...) avec CreateWindow( api win32 messages en arriere plan [ par Derto ] Bonjour, j'ai plusieurs problème ^^1/Dans mon application j'ai une boucle pour intercepter les messages de cette facon :    while (GetMessage(&message récupérer les index d'une listbox a selection multiple [ par LaTatadu91 ] Bonjour,je pense que tout est dans le titre: je sais le faire pour un seul item selectionné( int nIndex = m_ctlListGroup.GetCurSel();) mais pas pour m [C++] Probleme Visualisation d'images en fonction d'objets sélectionné dans ListBox [ par stef du 62 ] Bonjour a tous.Je développe un programme sous C++ Builder permettant la reservation d'étoiles a visualisé par la suite sur le telescope.Tout d'abord, declaration de type [ par sparo83 ] bonjour a vous,je suis debutant en C++,j'ai programmé un tri par insertion,dans l'alorithme j'ai declaré un type int pour entrer un choix de 1 ou de 2 [MFC]comment ça marche ? [ par Torhi ] Comment insérer un dialog dans un dialog (ou ressource dans un dialog) WIN32 [ par tazmania37 ] Bonjour,Je m'explique mieux.J'ai crée des ressources, correspondants à des modèles graphiques.Ce sont des petites fenêtres avec du texte et des icones Simulation d'appui sur touche pas reconnu partout [ par ghostichou ] Voilà j'explique mon problème :)En gros je veux tout simplement simuler l'appuie sur la touche "fleche du haut" dans un jeu.Donc j'ai ce code là :     Trojan win32:Kavos [ par ecr ] ecrBonjour, Avast! met en quarantaire fichiers infectés par virus Win32:Kavos. Que dois-je faire ? Je me suis aperçue que je n'arrive plus à ouvrir di API WIN32: Apparaitre dans le menu clic droit de windows [ par ndubien ] Bonjour, Je recherche donc comment faire pour que mon programme apparaisse dans le menu affiché lors d'un clic droit sur un fichier. Exemple, si vous


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,231 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales