bild
-
Das Fenster wird am Anfang dagestell ohne bild und das Prog. wird dann von Windows beendet. Vielleicht hilfts.
-
du hast ja noch nicht mal BeginPaint und EndPaint in WM_PAINT. Außerdem lädt man kein Bitmap in WM_PAINT. Diese Nachricht wird viel zu oft aufgerufen und kostet dann saumäßig performance. man lädt das einmal! ob der rest jetzt richtig ist weiss ich auch nicht, aber warum machst du es nicht einfach mit LoadImage und BitBlt?
-
steht nicht in dem Buch was ich habe. Kannst du mir dann ein Bsp. geben oder so ähnlich.
-
kann mir jmd ein bsp. geben ich finde nur sachen wie ich ein transparentes bild anzeigen kann und das will ich nicht sondern nur ein einfache bmp und wenn ich drauf drücke soll es verschwinden.
-
Willst du nur ein Bitmap anzeigen? Dann schau mal auf www.germandevnet.de unter Knowledgebase ist ein WinAPI Tutorial, da ist auch ein Kapitel über Bitmaps.
cu
-
Damit ich dich richtig verstehe du willst ein Bild auf einen hdc erstellen und wenn du da mit der maus draufklickst soll es verschwinden???
also das mit den bild auf einen hdc malen is kein prob. nur das es verschwinden soll mhh weiss ich jetzt nich
wenn das bild verschwinden soll wenn man draufklickt würde ich ein static nehmen und dort ein bild drauf malen
das is einfacher hehe
mfg
p.s. falls du den code haben willst um ein bild auf einen hdc zu erstellen sag bescheid
-
*bescheit*
-
LOL kk
LRESULT CALLBACK MainProc(HWND hWnd,UINT nMsg,WPARAM wParam,LPARAM lParam) { HDC hdc, hdcMem; BITMAP bitmap; PAINTSTRUCT ps; static HBITMAP hbitmap; static cxClient, cyClient; switch(nMsg) { case WM_CREATE: hbitmap = (HBITMAP) LoadImage(NULL,"test.bmp",IMAGE_BITMAP, NULL, NULL, LR_LOADFROMFILE | LR_DEFAULTSIZE); GetObject(hbitmap, sizeof(BITMAP), &bitmap); cxClient = bitmap.bmWidth; cyClient = bitmap.bmHeight; if(hbitmap == NULL) MessageBox(NULL, "Error", NULL,NULL); break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); hdcMem = CreateCompatibleDC(hdc); SelectObject(hdcMem, hbitmap); BitBlt(hdc, 0,0, cxClient, cyClient,hdcMem,0,0, SRCCOPY); DeleteDC(hdcMem); EndPaint(hWnd, &ps); break; case WM_DESTROY: { PostQuitMessage(0); return 0; } break; } return DefWindowProc(hWnd,nMsg,wParam,lParam); }
Damit du es nich zu einfach hast darfst du selber rausfinden was welcher befehl macht *gg* aber eigentlich sind die ziemlich logisch
-
Damit ich dich richtig verstehe: Soll das Bild _während_ du draufdrückst verschwinden, oder soll man das Bild mit Klicks "an" bzw. "aus"-schalten können?
cu
-
nein das fenster soll verschwinden
-
Fenster verschwinden: ShowWindow(hWnd,SW_HIDE);
Fenster schließen: PostQuitMessage(0);War mir jetzt nicht ganz sicher, was du meinst.
cu
-
PostQuitMessage(0); <- Anwendung schließen!!!
-
DestroyWindow(hWnd);
-
PostMessage(hWnd, WM_CLOSE, 0, 0);
-
DestroyWindow is zu hart
-
nein wenn ich auf das bild klicke oder drücke dann soll das fenster in dem angezeigt wird verschwinden.
-
Dann so, denk' ich mal
:
PostMessage(GetParent(hWnd), WM_CLOSE, 0, 0);
-
schließ doch einfach das fenster was du willst!! ist uns doch sche*ss egal!
-
aber so wie ich das gesehen hab, wird das bild doch im hauptfenster dargestellt
-
nein es ist ein childfenster. Es ist nicht egal, da ich am Anfang von meinen Prog. das Bild anzeige (mit dem Namen) und wenn ich drauf drücke soll es verschwinden und man ist im Prog.
[ Dieser Beitrag wurde am 14.12.2002 um 22:52 Uhr von mosta editiert. ]