Bild wird nicht angezeigt

sunflower84

Erfahrenes Mitglied
Hallo

Ich benutze den Borland C++. Habe mehrere Buttons und ein Bild. Klappt auch alles super. Aber wenn ich die exe erstelle sind alle Bilder der Buttons da aber das normale Bild nicht. Ich müsste das BMP mit in den Ordner legen und das möchte ich nicht.
Fehlt da noch was?

Hier der Code meines Bildes das kein Button ist:
Code:
          hBitMap = (HBITMAP)LoadImage(0,"test.bmp",IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE|LR_LOADFROMFILE|LR_CREATEDIBSECTION);
          GetObject (hBitMap, sizeof (BITMAP), &bitmap) ;

Liebe Grüße
Sunflower84
 
Hallo, wie deine Funktion (LoadImage) schon sagt, lädt er wärend des Programmstarts erst dein Bild und zwar aus der angegebenen Datei (\test.bmp). Mit der Funktion wird das nicht änderbar sein, ich wüsste auch nicht wie sonst, außer: Bild auf irgendeinen online server setzen und darauf zugreifen. Nachteil: Wenn kein Internet z.B. vorhanden ist, gehts nicht

lg
 
Die Bitmaps der Buttons habe ich in einer Resource Datei angelegt da ist das test.bmp auch drin.
So steht es in der resource.rc(wie die Bilder der Buttons auch)
ID_BITMAP_TEST BITMAP "test.bmp"

Jetzt müsste man doch nur irgendwie auf das Bild zugreifen können, oder?
 
Du musst LoadImage anpassen, so dass das Bitmap aus der Resource geladen wird:
C++:
hBitMap = (HBITMAP)LoadImage(
                0,
                MAKEINTRESOURCE(ID_BITMAP_TEST),
                IMAGE_BITMAP,
                0,
                0,
                LR_DEFAULTSIZE | LR_CREATEDIBSECTION );
Gruß
MCoder
 
Wenn ich es so mache wie du geschrieben hast, funktioniert es immer noch nicht. Ich bekomme keine Fehelrmeldung, aber das Bild wird nicht angezeigt.
Die resource st vorhanden.
Vielleicht habe ich ja einen Tippfehler:
hBitMap = (HBITMAP)LoadImage(0,MAKEINTRESOURCE
(ID_BITMAP_TEST),IMAGE_BITMAP,0,0,LR_DEFAULTSIZE | LR_CREATEDIBSECTION );

Liebe Grüße
Sunflower84
 
Zuletzt bearbeitet:
Überprüfe zunächst mal, ob das Bild tatsächlich geladen wird (hBitMap darf nicht NULL sein).
Falls es geladen wird: Wie zeigst du es denn an? Vielleicht steckt da noch ein Fehler drin.

Gruß
MCoder
 
Das "GetObject(...)" füllt dir lediglich die BITMAP-Struktur. Was genau willst du denn mit dem Bild anstellen?

Gruß
MCoder
 
Wo denn? Als fensterfüllendes Hintergrundbild? Auf einem bestimmten Bereich des Fensters oder auf einem bestimmten Control? Soll es ggf. gezoomt werden oder nur in Originalgröße angezeigt werden?

Einfach nur zeigen ist leider doch nicht so einfach :)

Gruß
MCoder
 
Zurück