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

  FORUM HardWare.fr
  Programmation

  [C++] Utiliser MAKEINTRESOURCE dans app Win32 sans MFC

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Utiliser MAKEINTRESOURCE dans app Win32 sans MFC

n°86066
antsite
Je me souviens
Posté le 04-01-2002 à 14:33:56  profilanswer
 

Je crée un bitmap dans les ressources.
J'ai une fonction du genre function("bitmap.bmp" );
je met donc function(MAKEINTRESOURCE(IDB_BITMAP1)); seulement erreur:
IDB_BITMAP1 undeclared identifier, alors qu'il s'appelle bien comme ça !
Faut-il inclure quelquechose de spécial ? Le .rc est bien entendu dans le projet.

mood
Publicité
Posté le 04-01-2002 à 14:33:56  profilanswer
 

n°86101
Carbon_14
Posté le 04-01-2002 à 15:53:01  profilanswer
 

J'ai utilisé cette fonction (copier/coller) pour charger une bitmap dont l'identificateur est 1111 dans le fichier .RC selon
 
1111 Bitmap graying.bmp (<= nom du BMP)
 
En C (16 bits et 32 aussi), j'utilise
    HRSRC   resource;
    resource = FindResource(hInst, MAKEINTRESOURCE(1111), RT_BITMAP);
    if (resource != NULL)
    {
      LOGBRUSH  br;
      br.lbStyle = BS_DIBPATTERN;
      br.lbColor = 0;
      br.lbHatch = (int)LoadResource(hInst, resource);
      LockResource((HANDLE)br.lbHatch);
      DialogBrush = CreateBrushIndirect(&br);
#ifndef __FLAT__
      UnlockResource((HANDLE)br.lbHatch);
#endif
      FreeResource((HANDLE)br.lbHatch);
    }
 
Le but final était de griser le fond d'une boîte de dialogue hookée (Ouvrir fichier) avec cette bitmap pour faire joli. J'avais trouvé l'exemple ailleurs (:D  :D).
 
en global, on a  
HBRUSH  DialogBrush; /* background brush for dialogs */
 
et quand le programme quitte, on libère la mémoire par
if (GrayBrush) DeleteObject(GrayBrush);

n°86106
antsite
Je me souviens
Posté le 04-01-2002 à 16:06:11  profilanswer
 

ok merci je vais voir ça

n°86119
Carbon_14
Posté le 04-01-2002 à 16:38:02  profilanswer
 

Coquille inside :
lire
if (DialogBrush) DeleteObject(DialogBrush);  
 
au lieu de  
if (GrayBrush) DeleteObject(GrayBrush);
 
Ca c'était pour une brush (c'est ce qui m'est revenu en premier).
 
Pour les images de mes boutons :
HBITMAP     handBitMap; en global
 
    handBitMap = LoadBitmap(hInst, MAKEINTRESOURCE(BlocGra));
 
Dans le .RC
BlocGra BITMAP PRELOAD BOUTONS5.BMP
 
et dans le fichier .H
#define BlocGra            1201  (<= arbitraire  :D)
 
En quittant  
DeleteObject(handBitMap);


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

  [C++] Utiliser MAKEINTRESOURCE dans app Win32 sans MFC

 

Sujets relatifs
Utiliser Yacc & Lex ?quel language de programmation utiliser pr faire des jeux en texte
[WINDEV] URGENT !! Comment utiliser le symbole " dans une chaine svp ?[VC6] Comment on fait pour utiliser le processor pack ??
[C++/MFC]Envoyer un mail avec fichier joint[VB6] il faut quoi comme licence pour utiliser un prog en VB 6 ??
[C++/MFC] pb avec la méthode DestroyWindow( )[C++/MFC] pb sur fermeture d'une boite non modale
[MFC] Taille des .exe...[PHP] Quelle méthode utiliser pour un espace membres?
Plus de sujets relatifs à : [C++] Utiliser MAKEINTRESOURCE dans app Win32 sans MFC


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