-
AutorBeiträge
-
6. Februar 2009 um 20:12 #1918brainiacTeilnehmer
ich verwende den mingw compiler um mein projekt zu compilieren und das verwendet die win32api mit der gdi
nun hab ich folgendes problem:
ich habe einige zeichenoperationen und so weiter eingebaut und die funktionieren auch allesamt, solange ich bitmaps aus externen dateien lade[c]static HBITMAP screen=(HBITMAP)LoadImage(NULL,“TitleScreen.bmp“,IMAGE_BITMAP,800,600,LR_LOADFROMFILE);[/c]
so… jetzt will ich aber die bitmaps aus resourcen laden weil es einfach praktischer ist und dafür hab ich diesen code verwendet
[c]static HBITMAP screen=(HBITMAP)LoadImage(NULL,MAKEINTRESOURCE(IDB_TITLESCREEN),IMAGE_BITMAP,800,600,LR_DEFAULTCOLOR);[/c]
der rest des programms ist komplett identisch in beiden versionen
wenn ich jetzt vor dem zeichnen des bitmaps überprüfe ob es =NULL ist enthält der erste einen gültigen handle, aber der zweite nicht und ich lass mir eine meldung ausgeben…ich hab auch schon verschiedenes versucht, aber bisher hat nix geholfen…
hoffentlich kann mir wer helfen, wär echt nett^^
6. Februar 2009 um 20:58 #7999nasenbaerTeilnehmerIch hab zwar seit Jahren keine Winapi mehr gesehen, aber das hier lief vor Jahren mal auf einem Rechner in der Schule: http://www.willemer.de/informatik/windows/winrsc.htm#top
6. Februar 2009 um 22:21 #8000brainiacTeilnehmeralso danke erstmal für die schnelle antwort, obwohl es nix gebracht hat
ich hab das mal eingefügt und es läuft trotzdem nicht… außerdem steht in der msdn man soll loadimage gegenüber loadbitmap bevorzugen (das zur info^^)
ich glaub aber der fehler liegt eher woanders begründet…ich muss ja vorher die resource in einem resourcescript (.rc) laden und mit einer id versehen… hab ich gemacht sieht so aus
TitleScreen.rc
Code:#include „resource.h“IDB_TITLESCREEN BITMAP DISCARDABLE „Titlescreen.bmp“
dann mit dem aufruf des resourcecompilers kompilieren in ein .o objekt (im ausführen->cmd eingeben „windres TitleScreen.rc TitleScreen.o“ für mingw compiler)
dann dem linker mitteilen dass er die resource einbinden soll (beim linkeraufruf hab ich „resources/*.o“ hinzugefügt, hab auch schon versucht alle resourcen einzeln zu laden, geht auch nicht)
und im code dann zum schluss laden und zum zeichnen verwenden (code siehe oben)
hilft das? gibts irgendwas was ich nicht beachtet hab? beim linken vielleicht?
PS: ich hab übrigens in dem programm noch icon-resourcen eingebunden und die funktionieren einwandfrei, also kanns in meinen augen auch nicht am linker liegen :huh: ?(
PPS: ich hab mal mit dem resource-hacker tool (http://angusj.com/resourcehacker/) überprüft ob in der .exe die resource richtig drin ist, und das ist sie auch… also kann es ja im prinzip tatsächlich nur noch an der codezeile liegen, die das bitmap laden soll… also jetzt bin ich echt am ende mit meinem latein… ich werd nochmal versuchen ein kleineres bitmap einzubinden und das „DISCARDABLE“ wegzulassen um zu gucken dass es nicht am speicher liegt, aber wenn das nicht hilft und mir hier keiner hilft bin ich genauso schlau wie vorher und lass es einfach…
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.