fenster putzen???
-
gibts eine funktion die die ganzen sachen putzt die man mit setpixel oder textout gemacht hat
-
InvalidateRect - falls du die genannten Funktionsaufrufe außerhalb vom WM_PAINT tätigst

Denn so wie sich das anhört hast du einen Design-Fehler im Programm und zeichnest außerhalb vom WM_PAINT direkt auf den Bildschirm - ist das möglich?
-
also ich mach alles im wm_paint also malen und so aber mein programm braucht immer mehr speicher
-
Dann scheinst du irgendwelchen Speicher / Objekte nicht mehr freizugeben. Das hat dann aber doch nicht mit "fenster putzen" zu tun

Wenn du meinst, dass es an WM_PAINT liegt, dann zeig doch davon mal den Code

-
case WM_PAINT: { char buf[500]; hdc = BeginPaint(hwnd, &ps); if (gpPicture) { // get width and height of picture long hmWidth; long hmHeight; gpPicture->get_Width(&hmWidth); gpPicture->get_Height(&hmHeight); // convert himetric to pixels int nWidth = MulDiv(hmWidth, GetDeviceCaps(hdc, LOGPIXELSX), HIMETRIC_INCH); int nHeight = MulDiv(hmHeight, GetDeviceCaps(hdc, LOGPIXELSY), HIMETRIC_INCH+1000); MoveWindow(hwnd,0,0,nWidth, nHeight, TRUE); RECT rc; GetClientRect(hwnd, &rc); // display picture using IPicture::Render gpPicture->Render(hdc, 0, 0, nWidth, nHeight, 0, hmHeight, hmWidth, -hmHeight, &rc); } TextOut(hdc,0,30,"From:",5); TextOut(hdc,0,60,"To:",3); TextOut(hdc,0,90,"Message:",8); EndPaint(hwnd, &ps); break; }da is des wm_paint
-
Warum rufst du bei WM_PAINT MoveWindow auf?
-
Und nWidth, nHeight würde ich auch nur einmal am Anfang des Programmes initialisieren. Das Bild ändert sich ja wohl nicht, oder?