IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

accelerateurs


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut accelerateurs
    salut

    j'ai envie de pouvoir utiliser des raccourcis pour acceder à mon menu
    j'ai déclaré dans le fichier des ressources mes accelerateurs et les touches de raccourcis

    puis dans mon main, j'ai ajouté le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    hAccelTable = LoadAccelerators(hInst, MAKEINTRESOURCE(IDR_SEC_ACCEL));
     
        while(GetMessage(&msg,NULL,0,0))
               {
               if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
    			{
    			TranslateMessage(&msg);
    			DispatchMessage(&msg);
    			}
               }
    ca ne fait aucun effet sur le prog

    merci pour votre aide

  2. #2
    Membre régulier
    Profil pro
    Ingénieur R&D
    Inscrit en
    Juillet 2002
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 81
    Points : 74
    Points
    74
    Par défaut
    Il faut également modifier La fonction WndProc. Par exemple, si tu avais un menu avec comme ID de ressource IDM_FILE_EXIT et que tu as nommé l'accélérateur correspondant IDA_FILE_EXIT, il faut ajouter un case supplémentaire contenant l'accélérateur. Genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	case IDM_FILE_EXIT:
    	case IDA_FILE_EXIT:
    		// Code quelconque
    		break;
    De plus, la boucle ressemblerais plutôt à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	while(GetMessage(&msg,NULL,0,0))
    	{
    		TranslateAccelerator(hDlg, hAccelTable, &msg);
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2003
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    ca marche

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accelerateur gtk pascal
    Par wasdaka dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 12/02/2009, 22h14
  2. Problème avec accelerateur graphique
    Par Info-Rital dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 05/06/2007, 01h13
  3. accelerateur de connexion adsl
    Par rare1 dans le forum Dépannage et Assistance
    Réponses: 16
    Dernier message: 04/08/2006, 09h03
  4. [Librairie] Accélérateur php
    Par licorne dans le forum Bibliothèques et frameworks
    Réponses: 11
    Dernier message: 01/02/2006, 23h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo