Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1482 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [Visual C++] Accelerator (raccourcis)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Visual C++] Accelerator (raccourcis)

n°55856
antsite
Je me souviens
Posté le 28-08-2001 à 16:45:33  profilanswer
 

Je crée une nouvelle ressource 'Accelerator'.
Je met une touche et un ID d'un élément d'un menu.
Quand je tappe sur la touche (Ctrl+x), rien ne se passe, sauf un beep !

mood
Publicité
Posté le 28-08-2001 à 16:45:33  profilanswer
 

n°55978
Carbon_14
Posté le 29-08-2001 à 09:26:22  profilanswer
 

En C, dans le WinMain, on met
{
   HANDLE hAccel;
....
   hAccel = LoadAccelerators (hInstance, MAKEINTRESOURCE(ACCEL_ID)); // la ressource des accélérateurs
...
 
et dans la grande boucle des messages  
 // Message Loop
 while(GetMessage(&msg, NULL, 0, 0))
 {
     if (! TranslateAccelerator(hWndMain, hAccel, &msg))
     {
 TranslateMessage(&msg);
 DispatchMessage(&msg);
      }
 }
 return msg.wParam;
}
// End WinMain
 
 
Dans le fichier RC, j'avais mis
//
// Accélérateurs
//
 
ACCEL_ID ACCELERATORS
BEGIN
  "^O", ID_FILE_OPEN                         // CTRL + O
  "^X", ID_EDIT_CUT                          // CTRL + X
  "^C", ID_EDIT_COPY                         // CTRL + C
  "^V", ID_EDIT_PASTE                        // CTRL + V
  VK_DELETE, ID_EDIT_CUT, SHIFT, VIRTKEY     // SHIFT + DEL
  VK_INSERT, ID_EDIT_COPY, CONTROL, VIRTKEY  // CTRL + INSER
  VK_INSERT, ID_EDIT_PASTE, SHIFT, VIRTKEY   // SHIFT + INSER
END
 
et des trucs comme cela dans la définition des menus
 POPUP "&Edition"
 {
  MENUITEM "&Copie Ctrl+C (Ctrl+Inser)", ID_EDIT_COPY
  MENUITEM "C&olle Ctrl+V (Shift+Inser)", ID_EDIT_PASTE
  MENUITEM "Cou&pe Ctrl+X (Shift+Del)", ID_EDIT_CUT
  MENUITEM SEPARATOR
etc...

n°56477
antsite
Je me souviens
Posté le 31-08-2001 à 10:15:54  profilanswer
 

Je pense que c Visual C++ qui s'occupe des fonctions LoadAccelerators();
J'utilise les MFC et mon application est une dialog. Ca beep que je fais une combinaison de touche (raccourci défini).

n°56509
antsite
Je me souviens
Posté le 31-08-2001 à 11:15:11  profilanswer
 

en fait la question est : est-ce ques les accelerators marche avec les dialog, car avec un single base document (assistant vc++), ça marche !

n°56538
Carbon_14
Posté le 31-08-2001 à 12:49:04  profilanswer
 

Ze sais pas trop, car le LoadAccelerator est (en C) utilisé dans le MAIN, et déclaré dans les ressources "générales" (si je puis dire).
 
Il y a un menu dans le dialog ? Si ce sont des boutons, le &OK, ou &Abandon devraient fonctionner directement.

n°56541
antsite
Je me souviens
Posté le 31-08-2001 à 13:02:22  profilanswer
 

J'ai mis un menu, il y a ok et cancel : mon .rc
IDR_MAINFRAME ACCELERATORS DISCARDABLE  
BEGIN
    "A",            ID_APP_ABOUT,           VIRTKEY, CONTROL, NOINVERT
    "S",            ID_TOOLS_IPSCAN,        VIRTKEY, CONTROL, NOINVERT
    VK_DELETE,      ID_EDIT_CLEAR,          VIRTKEY, CONTROL, NOINVERT
    VK_RETURN,      ID_EDIT_SEND,           VIRTKEY, CONTROL, NOINVERT
END

n°56606
Carbon_14
Posté le 31-08-2001 à 16:22:03  profilanswer
 

Je ne suis pas assez "spécialiste" pour pouvoir trancher.. Si ça marche pour la feuille main, et pas pour un dialog, y a peut-être des restrictions (?).
 
Faudrait que je fasse des essais à l'occase, pendant mes congés d'été qui commencent ce soir  :D  :D.
 
Bon courage. ;)

n°56632
antsite
Je me souviens
Posté le 31-08-2001 à 17:23:34  profilanswer
 

Merci et bonnes vacances  ;)

n°56729
antsite
Je me souviens
Posté le 01-09-2001 à 12:24:08  profilanswer
 

up ! :)

n°56735
TheJackal
Posté le 01-09-2001 à 13:06:49  profilanswer
 

visual C++ ne s'occupe pas de ca. MFC oui mais faut pas caufondre :hot:  
Visual C++ est un editeur
 
sinon desoler j'utilise pas les MFC j'aime pas


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Visual C++] Accelerator (raccourcis)

 

Sujets relatifs
Visual basic 6.0[Visual C++] Intercepter les 'Entrée' dans une Edit Box + CStatusBar
[VB5] Lire et créer un raccourcisMacro Visual Studio .NET
comment utiliser une fonction d'une Dll sous Visual C++6[Visual c++]librairie mysql++ et librairies tout court
[Visual C++] Icone dans barre de taches pour activer/desactiver appli[Visual C++]Récupérer espace libre
[Visual C++] Police 'Terminal' dans Rich Edit[Visual C++] Comment mettre un bouton en mode disabled
Plus de sujets relatifs à : [Visual C++] Accelerator (raccourcis)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR