[CONTROLS] Bitmap in Resource definieren und in Static Control zeichnen?
-
Hallo!
Ich versuche mich gerade den ganzen Morgen schon daran, eine Headergrafik in mein Programm einzufügen. Das Problem ist, dass es nicht richtig hinhauen will. In meinem Resource Script hab ich folgendes definiert:
// (...) andere Definitionen IDB_HEADER BITMAP DISCARDABLE "header.bmp"Und so versuche ich das Static Control zu erstellen:
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { // (...) andere Definitionen static HINSTANCE hInst = ((LPCREATESTRUCT) lParam) -> hInstance; switch (message) { case WM_CREATE: { // (...) andere Definitionen ICOHeader = CreateWindow ( "static", "IDB_HEADER", SS_BITMAP, 0, 0, 0, 0, hWnd, NULL, hInst, NULL); return 0; } // (...) andere Definitionen } return DefWindowProc(hWnd, message, wParam, lParam); }Der Compiler meldet keinen Fehler, auch zur Laufzeit keine Fehler. Das Static Control, bzw. das BMP wird einfach nicht angezeigt, das restliche Fenster jedoch einwandrei. Die Datei "header.bmp" gibt es selbstverständlich.
Was mach ich falsch?
Gruss Dominique
-
da stehts... im Beispiel... musst halt nur IMAGE_ICON durch IMAGE_BITMAP
ersetzten
Man die Jugend verblödet

-
Hi (D)Evil!
Danke für die Antwort erst mal... Auch wenn sie mich leider nicht weitergebracht hat :(. Ich seh in dem Beispiel keinen direkten Zusammenhang zu meinem Problem. Klar, es geht auch hier um Static Controls, jedoch hauptsächlich um Nachrichten und wie man sie Static Controls zu schickt.
Siehst du denn keinen Fehler in meinem Code? Also ist etwas falsch daran, hab ich einen Denkfehler? Ich denke so sollte es auch gehen, nicht?
Ich sollte vielleicht anfügen, dass ich das nicht aus beruflichen Gründen mache. Dieses Prog ist hauptsächlich dazu da, dass ich mir C++ aneignen kann. D.h., ich würde gerne verstehen wie und warum etwas funzt und warum eben auch ned. Also bringen mich fertige Lösungen nicht weiter, sorry.
Gruss Dominique
-
*pushpost*
Ich steh leider immer noch vor diesem Problem.
-
ICOHeader = CreateWindow ( "static", MAKEINTRESOURCE(IDB_HEADER), SS_BITMAP, 0, 0, 0, 0, hWnd, NULL, hInst, NULL);IDB_HEADER ist vermutlich eine ID, deshalb musst Du IMHO IDB_HEADER verwenden.
Oder die ID mit einer # voranstellen und übergeben.
wsprintf(szBuffer,"#%d",IDB_HEADER);