Rechteck und Timer
-
hallo,
ich erstelle einen timer der in einem intervall von zehn millisekunden mein rechteck erweitert, einmal scrollt es herunter und einmal hoch.das runterscrollen klappt super, aber wenn ich es wieder hochscrollen lasse dann sehe ich jede einzelne abstufung...
beim runterscrollen uebermalt es seinen eigenen bereich ja immer wieder aber wie regele ich das anderherum?ich hoffe das was jetzt nicht zu bloed erklaert.
case WM_TIMER: { switch(wParam) { case 2: hDC = GetDC(hWnd); if(l <= 200) { Rectangle(hDC, 200, 10, 300, 10 + l); l += 7; } else { l = 200; KillTimer(hWnd, 2); } ReleaseDC(hWnd, hDC); break; case 3: hDC = GetDC(hWnd); if(l >= 7) { Rectangle(hDC, 200, 10, 300, l); l -= 7; } else { l = 7; KillTimer(hWnd, 3); l = 200; } ReleaseDC(hWnd, hDC); }
-
nimm statt rectangle einfach ein window, dann sorgt windows automatisch dafür, dass der hintergrund wieder hergestellt wird. wenn nicht, musste den hintergrund selber restaurieren, damit's nicht flackert offscreen-buffering einsetzen, eine sprite-library benutzen oder sowas.
-
jo, danke
-
Moh, dein Erdkunde-Programme enthält heftige GDI-Leaks.
Habe es hier rein geschrieben, weil man nicht als Unregistrierter ins Projekte-Forum posten kann.
-
ja, das hab ich jetzt auch erst bemerkt. aber das war ja der eigentliche grund, warum ich es hier hereigestellt habe

was meinst du denn alles?
mir ist bis jetzt nur aufgefallen, dass die fragen nicht neu gezeichnet werden, inklusive dem rechteck das die fragen umrandet...
-
die fragen werden jetzt auch neu gezeicheichnet, findet noch jemand schwerwiegende fehler??
-
ob noch gdi leaks drin sind erkennst du im task-manager. da kannst du ne spalte hinzufügen wo dann die anzahl der gdi objekte für jeden prozess angezeigt werden.
-
Win98se

-
www.sysinternals.com => Process Explorer downloaden
-
cool, thx
//edit: wie kann ich jetztz meine GDI-Objekte anzeigen lassen??