begin process at 2012 05 30 05:22:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

[VC++]Ressources


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

[VC++]Ressources

jeudi 8 décembre 2005 à 18:08:52 | [VC++]Ressources

shadow1779

Membre Club
Bonjour,

j'ai un petit probleme sur l'utilisation de Visual Studio 2003, j'essai de faire des racourcis clavier pour mon bloc notes que j'ai crée, j'ai vu que qu'en faisan une ressource accelerator on peut faire nos racourcis rapidement, cependant je lui met donc IDM_NEW en ID, puis CTRL et N dans les 2eme et 3eme colonnes et enfin VIRTKEY , cependant il compile bien mais aucun racourcis n'est fait :s, j'ai vu sur le tuto de developpez.com qu'il mettent les #define IDM_NEW par exemple dans resource.h, cela a t'il une importance, deplus si je les met la dedans et que je l'inclus dans mon prog.cpp il met une erreur en disant que le fichier retouche a été modifié en dehors de visual c++, bref comment faire ...

Merci d'avance de mettre une petite explication ou un lien pour expliquer l'utilisation des ressources...
jeudi 8 décembre 2005 à 18:41:36 | Re : [VC++]Ressources

ymca2003

Ne pas oublier de charger la table des racoucis par LoadAccelerator et de rajouter TranslateAccelerator dans la boucle des messages.

Normalement tu n'as pas à modifier le resource.h et le .rc à la main (visual le fait très bien de rajouter les ID des contrôles).

Il faut par contre  inclure resource.h dans ton source.

Ensuite dans ta WndProc, tu traites WM_COMMAND et le wParam sera l'Id de ton menu ou raccouris.
jeudi 8 décembre 2005 à 18:54:02 | Re : [VC++]Ressources

shadow1779

Membre Club
C'est bien ce que j'ai fait pourtant


//debut de mon prog.cpp

#include <windows.h>
#include <stdio.h>
#include "resource.h"

#define IDM_QUIT 1
#define IDM_NEW 2
#define IDM_OPEN 3
#define IDM_SAVEAS 4
#define IDM_COPYRIGHT 5
#define IDM_COPY 6
#define IDM_CUT 7
#define IDM_PASTE 8
#define IDM_PRINT 9
#define IDM_DEL 10
#define IDM_UNDO 11
#define IDM_MAIL 12
#define IDM_VERSION 13
#define IDM_SETFONT 14
#define IDM_DATE 15
#define IDM_TIME 16
#define IDM_QUIT 17


//le load accelerator
HACCEL haccel;
haccel = LoadAccelerators(hinstance, "IDR_ACCELERATOR1");

ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);

    while (GetMessage(&msg, NULL, 0, 0))
    {
      if (!TranslateAccelerator(hwnd, haccel, &msg))
          {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
          }
    }

//contenue du resource.h
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by resource.rc
//
#define IDR_ACCELERATOR1                101
#define IDM_NEW                         40001
...
.

et de plus il me dis Macro redefinition car dans resource.h j'ai un #define IDM_NEW en + qu'il me crée lui :s et si je fais ctrl + N il ne va pas la ou je veux :s pourtant pas d'erreur dans le compilo a part le macro redefinition (qui est un warning)

//un peu du case WM_COMMAND:

//////////////////////
//////Fonction NEW
if(LOWORD(wParam) == IDM_NEW)
{
//si fenetre d'édition déja modifiée prevenir
if(HIWORD(wParam) == EN_CHANGE) EditNotChg = FALSE;
    if(EditNotChg ||
               MessageBox(hwnd,"Le texte a été modifié.\r\nEtes vous sûr de vouloir supprimer\r\nce que vous avez déja crée?","Nouveau",MB_YESNO | MB_ICONEXCLAMATION) != IDYES)
    {
return 0;
    }


jeudi 8 décembre 2005 à 19:50:37 | Re : [VC++]Ressources

ymca2003

il faut ne pas redéfinir les Ids de menu (et autre ressources) dans le source, il faut utiliser ceux de resource.h
jeudi 8 décembre 2005 à 20:13:11 | Re : [VC++]Ressources

shadow1779

Membre Club
ouai mais meme si je les enlevent dans mon prog.cpp et que j'utilise ceux de resource.h cela ne change rien :s cela compile mais ne passe pas le racourcis :s

.
vendredi 9 décembre 2005 à 09:10:25 | Re : [VC++]Ressources

ymca2003

Réponse acceptée !

Il faut charcher le racourcis par :

LoadAccelerators(hinstance, MAKEINTRESOURCE(IDR_ACCELERATOR1));

Dans ton cas ça renvoi nul (il faut caster l'entier en chaîne-> macro MAKEINTRESOURCE et pas passer une chaine avec l'Id en fait).

vendredi 9 décembre 2005 à 18:58:24 | Re : [VC++]Ressources


Cette discussion est classée dans : met, utilisation, vc, ressources, racourcis


Répondre à ce message

Sujets en rapport avec ce message

Utilisation des ressources [ par jdaviaud ] Voila, je débute en c++ et je cherche à savoir comment utiliser les ressources dans nos programmes une fois qu'ils sont ajoutés au projet ?par exemple bases de l'utilisation de VC++ (suis nul et je pige pas) [ par lmondeil ] Light. Je suis nul mais je me soigne!salut tout le monde. J'ai un souci avec la manipulation de Visual C++ 6 :Je dois bosser sout VC++ en utilisant QT Utilisation de l'ACM windows en VC++ [ par MangaII ] Je recherche toute info sur l'utilisation de l'ACM windows ! En gros, je cherche a pouvoir décompresser des fichiers audio (de type indifférent), ave Utilisation du clavier avec QT 3.2.1 et VC++ [ par jlbrd ] J'ai installer la version d'évaluation de QT 3.2.1 pour Windows. Lorsque j'utilise les applis fournies: designer, assistant ou que je compile un progr utiliser les ressources sous vc++ (avec directdraw) [ par mannix ] bonjour à tous,voilà j'ai un probleme avec les p* de ressources de vc++.J'ai des images en bmp que je veux inclure dans mon exe sachant que ces bitmap Utilisation des CTabCtrl dans VC++ [ par tanguy_laverdure ] Bonjour,Quelqu'un aurait il deja utilisé le CTabCtrl permettant de mettre un menu a onglet dans une fenetre de dialogue ?Peut t on tout creer avec le Utilisation des ressources pou les icônes [ par Marten ] Je suis débutant (et même en dessous de ça) pour la programmation avec l'API Win32. J'ai lu plusieurs tutoriels  et j'utilise dev-c++.  A chaque essai appeler des ressources depuis une dll VC++6 sans MFC [ par raoulman ] Bonjour, J'ai crée une dll qui contient des ressources (menu, raccourcis claviers, image pour bouton barre d'outils) J'appelle ma dll avec un LoadLi Utilisation des dlls dans le vc++ [ par selmen2004 ] Est ce qu'ilya une methode pour utiliser les fonctions se trouvant dans des dlls que je n'ai pas construit? J'ai trouvé Une methode qui est LoadLibra Ressources et VC++6 [ par Toobad ] Mon VC++ pose des prob avec les rc. Y en a qu'il ne charge pas lorsque je les appelle avec LoadIcon par ex et d'autres qu'ils chargent sans prob. J'ai


Nos sponsors


Sondage...

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 : 1,732 sec (3)

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