Probleme LoadBitmap [win32 dev-cpp]

Résolu
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007 - 9 juin 2007 à 13:36
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007 - 10 juin 2007 à 16:11
Re salut à tous,
Encore une byzzarerie que je n'explique pas :
la fonction LoadBitmap me fait défaut alors que les paramètres que j'y mets sont bons... et c'est pas la 1ere fois que je l'utilise dans un code similaire. La fonction LoadImage quant à elle, fonctionne, mais je préférerais que l'image se trouve dans les ressources.
Je vous montre le code, peut etre que vous comprendrez ce qui cloche :

    hbmp = LoadBitmap(g_hTInst, MAKEINTRESOURCE(IDB_TOOLS));
    if(!hbmp)
   {
        MessageBox(NULL, "Chargement des îcones", "Erreur", 0);
        return NULL;
   }

sachant que, dans le WinMain :
g_hTInst = hThisInstance;

et que dans le fichier de ressources :
IDB_TOOLS BITMAP DISCARDABLE "res\\Tools.bmp"

Pas d'erreur à la compilation, mais biensur le message personnel d'erreur à l'éxécution.

Ca m'est assez handicapant
Si vous voyez l'erreur ... merci ;)

4 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
10 juin 2007 à 15:50
Ça ne fonctionne pas comme ça ?
hbmp = LoadImage(g_hTInst, MAKEINTRESOURCE(IDB_TOOLS),
IMAGE_BITMAP
, 0, 0, 0,  0, 0)

C++ (@++)<!--
3
cali70 Messages postés 71 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 19 mars 2008
9 juin 2007 à 15:38
hbmp est-il séléctionné dans un context ? si oui peu être que celà vient de ca...
Sinon voici un extrait de la msdn, peu être que celà t'aidera:

HBITMAP LoadBitmap(
  HINSTANCE hInstance// handle to application instance
  LPCTSTR lpBitmapName  // name of bitmap resource
);


If the bitmap pointed to by the lpBitmapName parameter does not exist or there is insufficient memory to load the bitmap, the function fails.



LoadBitmap creates a compatible bitmap of the display, which cannot be selected to a printer. To load a bitmap that you can select to a printer, call LoadImage and specify LR_CREATEDIBSECTION to create a DIB section. A DIB section can be selected to any device.

Bon courage!
0
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007
10 juin 2007 à 13:15
Le bitmap n'est pas sélectionné ds un DC, il vient d'etre créé.
"If the bitmap pointed to by the lpBitmapName parameter does not exist or there is insufficient memory to load the bitmap, the function fails." et si c'était ca, la fonction LoadImage ne marcherait pas :/

Merci quand même.
Question subsidiaire :
La fonction LoadImage ne permet pas du tt de charger un bitmap qui se trouve dans les ressources ?
0
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007
10 juin 2007 à 16:11
Si, c'est bon.
Merci !
0