Probleme LoadBitmap [win32 dev-cpp] [Résolu]

Signaler
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
julien_boss
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
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 ;)
A voir également:

4 réponses

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

C++ (@++)<!--
Messages postés
71
Date d'inscription
mercredi 29 septembre 2004
Statut
Membre
Dernière intervention
19 mars 2008

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!
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007

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 ?
Messages postés
165
Date d'inscription
samedi 4 juin 2005
Statut
Membre
Dernière intervention
24 octobre 2007

Si, c'est bon.
Merci !