bitmap aus resource laden



  • hiho leute!

    vielleicht könnt ihr mir helfen, ich bekomms einfach nicht hin 😞

    Ich hab ein Bitmap erstellt als Resource mit dem Namen IDB_BITMAP1 und der ID 1.
    Ich versuche jetzt schon seit Tagen auf dieses BITMAP zuzugreifen....meine Idee ist folgende:

    HBITMAP blub=0;
    blub=LoadBitmap(0, "IDB_BITMAP1");
    

    Ergebnis ist leider, dass blub 0 ist und die Funktion anscheinend nicht funktioniert hat, auch mit der ID will es irgendwie nicht funzen...

    Wie zum Teufel geht das?

    (Ich benutze übrigens Borland C++ 5.02)



  • ich würds so machen:

    Graphics::TBitmap* bitmap(new Graphics::TBitmap());
    bitmap->LoadFromResourceName(reinterpret_cast<unsigned>(HInstance), "IDB_BITMAP1");
    

    weiß zwar nich ob das so geht aber so stands in der hilfe



  • uff, geht das nicht ein bischen einfacher?
    benutze win-api und irgendwie funzt dein codeschnipsel nicht so ganz und ist irgendwie ganz unverständlich.



  • Na denn auf nach WinAPI.

    Und ansonsten gehörst du nach "Andere Compiler", hier gehts um den "Borland C++ Builder", nicht um "Borland C++".



  • Dieser Thread wurde von Moderator/in Jansen aus dem Forum Borland C++ Builder (VCL/CLX) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • So irgendwie:

    HBITMAP blub = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1));
    


  • hatte ich ja auch schon probiert, da meldet der compiler undefined symbol für die korrekte bezeichnung des bildes 😞



  • snake4ever schrieb:

    hatte ich ja auch schon probiert, da meldet der compiler undefined symbol für die korrekte bezeichnung des bildes 😞

    benutz mal eine höhere res-id



  • daran liegt es nicht, hab schon verschiedenen ids probiert...



  • zeig mal die genaue fehlermeldung.
    und vielleicht die resource.h und einen ausschnitt aus deinem quellcode.



  • quellcode:

    #include <windows>
    
    int WINAPI WinMain(
    
        HINSTANCE hInstance,	// handle to current instance
        HINSTANCE hPrevInstance,	// handle to previous instance
        LPSTR lpCmdLine,	// pointer to command line
        int nCmdShow 	// show state of window
       )
    {
    
    HBITMAP blub = LoadBitmap(hInstance, "IDB_BITMAP1");
    if(blub==0)MessageBox(0,"geht nicht!","f",MB_OK);
     	if(!SystemParametersInfo(SPI_SETDESKWALLPAPER,0,blub,SPIF_SENDWININICHANGE))MessageBox(0,"Ein Fehler ist aufgetreten","FEHLER!",MB_OK|MB_ICONERROR);
       return 1;
    }
    

    *.rc datei:

    #define IDB_BITMAP1	9999
    
    IDB_BITMAP1 BITMAP 
    {
    '42 4D 76 08 00 00 00 00 00 00 76 00 00 00 28 00'
    '00 00 40 00 00 00 40 00 00 00 01 00 04 00 00 00'
    '00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00'
    '00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80'
    '00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80'
    '00 00 80 80 80 00 C0 C0 C0 00 00 00 FF 00 00 FF'
    '00 00 00 FF FF 00 FF 00 00 00 FF 00 FF 00 FF FF'
    '00 00 FF FF FF 00 FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF F0 00 0F'
    'FF F0 00 0F FF F0 00 0F FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF 00 FF 00'
    'FF 00 FF 00 FF 00 FF 00 FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF 00 FF 00'
    'FF 00 FF 00 FF 00 FF 00 FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF 00 FF 00'
    'FF 00 FF 00 FF 00 FF 00 FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF 00 FF 00'
    'FF 00 FF 00 FF 00 FF 00 FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF 00 FF 00'
    'FF 00 FF 00 FF 00 FF 00 FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF F0 00 0F'
    'FF F0 00 0F FF F0 00 0F FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF'
    'FF FF FF FF FF FF'
    }
    


  • #include <windows>
    #include "resource.h"  // neu
    
    int WINAPI WinMain(
    
        HINSTANCE hInstance,	// handle to current instance
        HINSTANCE hPrevInstance,	// handle to previous instance
        LPSTR lpCmdLine,	// pointer to command line
        int nCmdShow 	// show state of window
       )
    {
    
    HBITMAP blub = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BITMAP1)); // geändert
    if(blub==0)MessageBox(0,"geht nicht!","f",MB_OK);
     	if(!SystemParametersInfo(SPI_SETDESKWALLPAPER,0,blub,SPIF_SENDWININICHANGE))MessageBox(0,"Ein Fehler ist aufgetreten","FEHLER!",MB_OK|MB_ICONERROR);
       return 1;
    }
    
    // resource.h
    #define IDB_BITMAP1	9999
    
    #include "resource.h"  // neu
    
    IDB_BITMAP1 BITMAP  DISCARDABLE     "irgendwas.bmp"
    

    [edit]
    blödsinn gemacht. 😃



  • IDB_BITMAP1 BITMAP DISCARDABLE "irgendwas.bmp"

    da gibt er nen deklaration-error aus...bzw: "Declaration terminated incorrectly"



  • es ist schon spät 😃 und programmiere wahrscheinlich wieder viel zu viel

    deine *.rc

    #include <windows.h>
    #include "resource.h"
    
    IDB_BITMAP1 BITMAP DISCARDABLE "irgendwas.bmp"
    

    jetzt müsste es gehen



  • ne, also wenn die includes ebenfalls in der *.rc sind, dann kommt es zum aceess error und wenn nur die deklaration in der rc steht, dann startest es zwar, aber das bild wird trotzdem nicht geladen.



  • snake4ever schrieb:

    ne, also wenn die includes ebenfalls in der *.rc sind, dann kommt es zum aceess error

    was für nen kompilier hast du denn 😕

    snake4ever schrieb:

    und wenn nur die deklaration in der rc steht, dann startest es zwar, aber das bild wird trotzdem nicht geladen.

    logisch den er weis ja nicht was in der rc steht und der resource header ist die schnittstelle zwischen deiner rc und deinem quellcode



  • na den, der bei borland c++ 5.02 dabei ist...ich geh jetzt mal pennen muß früh raus, bis morgen 😃

    vielen dank schonmal für deine hilfe



  • jep gute idee, vielleicht lösst ja noch jemand das problem.


Anmelden zum Antworten