Accueil > Forum > > > > Probléme ID de Menus
Probléme ID de Menus
mercredi 15 juin 2005 à 02:52:22 |
Probléme ID de Menus

Zootella
|
Hello all; Voilà, dans un programme j'utilise une fonction qui me rajoute toutes les entrées d'une liste box dans le menu da la fenetre principale. Le probléme c'est comment savoir quel menu a été selectionné! il faut mettre un ID différent pour chaque item ajouté, par exemple : #define ID_MENU 3000 for (i = 0; i < Count; i++) { SendMessage(hList, LB_GETTEXT, i, (LPARAM)Text); AppendMenu(hSubMenu, MF_STRING, ID_MENU + i, Nick); } ID_MENU + i pour avoir un id différent à chaque fois, mais comment intercpeter ces ID_MENU dans une procédure callback ? tel est la question! Merci.
|
|
mercredi 15 juin 2005 à 09:25:48 |
Re : Probléme ID de Menus

louis14
|
en VC++, j'utilise une de ces 2 commandes dans la message MAP: ON_COMMAND(ID, fonction_pour_ID) ou ON_COMMAND_RANGE(ID1,ID2, fonction_IDS) et dans fonction_IDS il faut traiter les différents ID par un switch. j'espère que celà va t'aider
louis14
|
|
mercredi 15 juin 2005 à 10:29:19 |
Re : Probléme ID de Menus

vecchio56
|
Je ne pense pas que ca va l'aider, visiblement il n'utilise pas les MFC. C'est donc le message WM_COMMAD qui va recevoir l'id dans LOWORD(wParam)
|
|
mercredi 15 juin 2005 à 10:46:24 |
Re : Probléme ID de Menus

Zootella
|
Efféctivement je n'utilise pas MFC, donc id dans WM_COMMAND, LOWORD(wParam). Sinon j'ai pensé à utiliser le return de TrackPopupMenu mais c'est un menu de la fenetre, donc est-ce possible d'afficher un menu de fenetre avec TrackPopupMenu ?
|
|
mercredi 15 juin 2005 à 10:55:34 |
Re : Probléme ID de Menus

vecchio56
|
Non, ce n'est pas fait pour ca. La solution avec WM_COMMAND ne te convient pas?
|
|
mercredi 15 juin 2005 à 14:54:32 |
Re : Probléme ID de Menus

Zootella
|
Ben si mais le nombre d'élements dans la listbox varie à chaque fois! donc comment utiliser ça dans WM_COMMAND puisque le nombre d'ids change ?
|
|
mercredi 15 juin 2005 à 15:06:49 |
Re : Probléme ID de Menus

vecchio56
|
Ca dépend de ce que tu veux faire dans le WM_COMMAND. Si tu veux afficher un message par exemple, eh bien tu peux utiliser un tableau t pour ca. Et tu fais: case WM_COMMAND: if((HMENU)(LOWORD(wParam)) == hmenu) MessageBox(0, t[LOWORD(wParam)], 0, 0); break; C'est sur que comme le nombre d'ID est inconnu à la compilation, tu ne pourra pas faire de switch dans ton WM_COMMAND. Tu veux faire quoi dans le WM_COMMAND?
|
|
mercredi 15 juin 2005 à 21:20:03 |
Re : Probléme ID de Menus

Zootella
|
Afficher le nom du menu séléctionner. if((HMENU)(LOWORD(wParam)) == hmenu : l'ID sera toujours le même non?; Sinon j'ai esseyé avec un seul ID pour tous les menus puis dans le WM_COMMAND utiliser MenuItemFromPoint, mais ça ne marche pas.
|
|
mercredi 15 juin 2005 à 21:31:19 |
Re : Probléme ID de Menus

vecchio56
|
Je vérifie avant que le message vient bien du menu (parce que après on ne fait pas de filtrage). Ce n'est pas nécessaire si tu n'a qu'un seul menu. Ce qui est important c'est LOWORD(wParam). Dans LOWORD(wParam) tu as l'ID, et celui ci change bien entendu Pour afficher le nom de l'item sélectionné: char buffer[BUFFER_SIZE]; ... case WM_COMMAND: GetMenuString((HMENU)LOWORD(wParam), LOWORD(wParam), buffer, BUFFER_SIZE, GetMenuString); break; Comme tu le vois, on n'a pas besoin de connaitre tous les items du menu
|
|
Cette discussion est classée dans : menu, id, probléme, menus, différent
Répondre à ce message
Sujets en rapport avec ce message
Meme ID dans le Menu [ par crocejf2000 ]
Dans mon menu,j'ai plusieurs item qui on le meme ID mais pas le meme label. Comment puis-je faire pour recuperer juste le label du menu ou l'utilisate
Utilisation des menus. [ par JackosKing ]
Voilà, je voudrais utiliser un menu avec icone normal, jusque là pas de probleme, seulement ke voudrais que le menu apparaisse avec de grosse icone (c
[MFC] Griser menu déroulant [ par Atmaweapon ]
J'ai deux questions (dont une qui est 'facultative' a la limite...)Je travaille dans une MFC et ai un menu déroulant (dans le Menu de mon IDR_MAINFRAM
SetCheck et PopUpMenu [ par Toutoun13 ]
Bonjour, Dans le code suivant j'ai un problème avec un sous menu qui n'est pas checked comme je le voudrais : #define ID_VERSION_LOGICIEL 16000 ON_UP
IrrLicht & Menus [ par simtiers ]
Salut ! Je cherche à créer un menu contextuel dans une démo 3D avec Irrlicht. J'ai vu qu'on pouvait faire des menus "normaux" (en haut de l'écran), m
wxXmlResource pour creer un menu de signets ftp ??? [ par satellite34 ]
bonjour, je développe une application client ftp, je voudrai y implémenter un menu de signets ftp;pour le moment j'ecris mes id's de connection dans u
[WINDOWS] Ccomment recuperer le nom des menus de toutes les fenetres ? [ par ZaRMaS ]
Bonjour, Je cherche a recuperer le nom des menus de toutes les fenetres ouvertes de windows, mais j'ai quelques problemes avec tous les Handle. voil
Hook clic droit sur la titlebar [ par reptils ]
Salut a tous,J'ai un p'ti probleme avec le programme que j'essaies de faire. Je voudrais faire un virtual desktop, et pour cela j'aimerais que lorsque
Menus MFC [ par adrienva ]
Bonjour, Mon probleme est que lorsque je crée un menu (en MFC ) , puis que j'ajoute des gestionnaires d'évenements, lors de l'éxécution, les éléments
menu déroulant POPUP [ par artichaud ]
hello, je découvre les joies des MFC (VC++6) au boulot (stagiaire, personne qui connait Visual, super)j'ai un popup menu IDR_MAINFRAME dans lequel il
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|