Accueil > Forum > > > > Raccourcis des menus & IsDialogMessage
Raccourcis des menus & IsDialogMessage
dimanche 26 décembre 2004 à 05:28:23 |
Raccourcis des menus & IsDialogMessage

Nebula
|
Bonjour, Lorsque j'utilise IsDialogMessage dans ma pompe à messages, les raccourcis correspondant à mon menu ne sont pas traités. Voici le code de la pompe en question : while (GetMessage(&msg, NULL, 0, 0) > 0) { if (IsDialogMessage(hWnd, &msg) == 0) { TranslateMessage(&msg); DispatchMessage(&msg); } } Rien de très original donc. J'utilise les ressources pour créer un menu comme celui-ci : MAINMENU MENU BEGIN POPUP "&Fichier" BEGIN MENUITEM "&Quitter", ITEMQUIT END POPUP "&Aide" BEGIN MENUITEM "A &propos...", ITEMABOUT END END Lorsque que je supprime l'appel à IsDialogMessage, les raccourcis (ALT+F et ALT+A) sont traités correctement... Quid ?
|
|
dimanche 26 décembre 2004 à 09:45:53 |
Re : Raccourcis des menus & IsDialogMessage

AlexMAN
|
Bonjour,
Je veux pas dire de betises, mais utiliser IsDialogMessage() bloque la reception de certains messages, tel que WM_KEYDOWN, ce qui pourrait empecher l'utilisation de raccourci CLAVIER. Voila ce que jen pense (je te conseille de poser la question sur le NG Visual C++, si tu ne peux pas, je le ferais pour toi).
++
+2(p - n)
|
|
dimanche 26 décembre 2004 à 12:34:34 |
Re : Raccourcis des menus & IsDialogMessage

BruNews
|
Faudrait voir le contexte exact de ton prog pour repondre correctement. Dans tous les cas, tu peux analyser ce qu'il y a dans ta struct msg juste dessous while(GetMessage(&msg,.... et tu decides ainsi si tu fais la verif IsDialogMessage(...).
ciao... BruNews, MVP VC++
|
|
dimanche 26 décembre 2004 à 13:45:55 |
Re : Raccourcis des menus & IsDialogMessage

Nebula
|
Ben j'ai aussi une table de raccourcis claviers qui eux, sont bien gérés (j'ai testé çà un peu après avoir posté ici), seuls les ALT+XXX correspondant aux menus sont ignorés.
J'ai mis les sources courantes de mon programme ici : http://athanatos.free.fr/temp/perso/Nebulog.zip
C'est juste une ébauche, évidemment compatible MinGW et MSVC... resource.rc contient bien sûr les ressources, main.c la pompe à messages, et wndproc.c le gestionnaire de messages.
Examiner la structure MSG je veux bien, mais je ne vois pas trop quoi tester pour décider d'appeler ou non IsDialogMessage :-/
Merci à vous deux pour votre aide :)
|
|
dimanche 26 décembre 2004 à 13:57:07 |
Re : Raccourcis des menus & IsDialogMessage

BruNews
|
J'ai pris ton zip, je verrai des que possible.
ciao... BruNews, MVP VC++
|
|
dimanche 26 décembre 2004 à 14:12:17 |
Re : Raccourcis des menus & IsDialogMessage

Nebula
|
Ok je vire alors. AlexMAN si tu le veux aussi, envoie moi un MP ;-)
|
|
dimanche 26 décembre 2004 à 14:39:20 |
Re : Raccourcis des menus & IsDialogMessage

BruNews
|
mais pourquoi mets-tu IsDialogMessage() avec le hWnd de la fenetre parent ??? Son param devrait etre un hDlg valide si tu en as un a lui passer.
ciao... BruNews, MVP VC++
|
|
dimanche 26 décembre 2004 à 14:55:26 |
Re : Raccourcis des menus & IsDialogMessage

Nebula
|
Ben justement, je ne fais pas de Dialog et cette fenêtre va accueillir plusieurs contrôles enfants, et l'appel à IsDialogMessage est là pour gérer les appuis sur TAB et autres (la doc dit qu'on peut passer un HWND pour que cette fenêtre se comporte comme une boîte de dialogue).
Si j'ai bien suivi, il faudrait que je crée une fenêtre fille sur laquelle je placerais mes autres contrôles, et c'est sur son HWND que je devrais appeler IsDialogMessage ?
|
|
dimanche 26 décembre 2004 à 15:06:40 |
Re : Raccourcis des menus & IsDialogMessage

BruNews
|
ben oui, IsDialogMessage() est la pour controler les messages vers une eventuelle modeless dialog.
Pourquoi veux-tu reimplementer toute la logique d'une dialog ? si c'est de cela dont tu as besoin, fais carrement une dialog en fenetre mere, ça n'empeche pas du tout d'y mettre un menu et autres bidules.
ciao... BruNews, MVP VC++
|
|
dimanche 26 décembre 2004 à 15:14:09 |
Re : Raccourcis des menus & IsDialogMessage

Nebula
|
Certes, c'est ce que j'envisageais aussi, mais sans éditeur de ressources c'est assez ardu de se lancer dans les Dialog... Y'a bien quelques tutoriaux sur le sujet sur Google, mais ils n'expliquent que des exemples simples sans donner d'explications générales :-/
En rouvrant Petzold j'ai vu un chapitre "menus et autres ressources", je vais le lire en espérant y trouver ce que je cherche. Si tu as de la doc sur ce sujet, je suis preneur ;-)
|
|
Cette discussion est classée dans : menu, msg, begin, raccourcis, isdialogmessage
Répondre à ce message
Sujets en rapport avec ce message
Probleme WS_TABSTOP [ par fredsor ]
Bonjour,Je mets bien WS_TABSTOP pour tous les composants créé (CreateWIndowEx... )et j'ai rajouté a la fin, while (GetMessage(&msg, NULL, 0, 0) > 0)
Créer un menu HMENU [ par ndubien ]
Bonjour,Je cherche à savoir s'il est possible de créer un menu sans passer par les ressources du projet.Si oui : comment?Merci d'av
cocher l'item d'un menu [ par ndubien ]
Bonjour,Je cherche à savoir: + comment cocher (check) l'item d'un menu ou sous-menu (après sa création)? + comment décocher (check) l'item d'un menu o
Creer un menu ds richedit [ par Neo_Fr ]
Bonjour, Est-ce que quelqu'un saurait comment ajouter un menu dans une richedit?
génération du menu contextuel des fichiers [ par blubz ]
bonjourDonc j'essai de générer ( dans une appli wxwidgets ) le menu contextuel offert par l'explorer de windows. J'ai trouvé ces documents fort utile
probleme de matrice [ par diable007 ]
bonjour, voila mon code: #include #include #include using namespace std;void main(){ int i,j; vector > mathad2(2,vector&l
Fonctions Imbriquées avec argument string [ par Zakata ]
Bonjours,J'esaye de programmer deux classes de menu. L'architecture est la suivantes : Une classe Menuclass Menu{public: Menu(void); ~Menu(void)
Pb de link avec cout et un char [ par Zakata ]
Bonsoir à tous,J'ésaye de programmer une fonction qui affiche une variables de type char sur la console :void Menu::Display(void){ int Cpt; for(
Ameliorer code (msg.message==WM_KEYDOWN...) [ par Booster ]
Bonjour à tous,Dans un sousi de rendre mon code le plus lisible possible j'aimerais savoir s'il n'y à pas une façons plus charmante, plus courte de co
Changer couleur Menu Bar [ par Neo_Fr ]
Bonsoir, Est ce possible de changer la couleur d'une menu bar?; si oui comment? Neo_Fr
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
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 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
|