[ mzoran @ 24.10.2003. 14:48 ] @
U Visual C++ 6.0 sam napravio doc/view projekat, koji u klijent oblasti dokumenta crta bitmap slicice (niz od 110 slicica). To sam uradio tako sto sam override-ovao OnPaint f-ju. Izborom neke od stavki iz menija menja se prikaz (tj, menjaju se neke od slicica). Za to sam napravio svoju f-ju u kojoj sam koristio InvalidateRect koja je mnogo brza od RedrawWindow. E sad, zelim da izborom jedne od stavki iz menija slicice pocnu da se menjaju, ali ne momentalno, vec jedna po jedna sa intervalom od 1 sekunde. Znaci, u f-ji OnStavkaMenija() ja imam inicijalizaciju objekta RECT (velicina koja ce ponovo da se iscrta), pa zatim poziv InvalidateRect, pa f-ju Sleep(1000), pa ponovo menjam vrednost objektu RECT (sada za drugu slicicu), pa ponovo InvalidateRect. Medjutim, Umesto da se iscrta jedna slicica, pa saceka 1 sec, pa onda iscrta druga slicica, program prvo saceka 1 sec i odmah crta drugu slicicu ! Zasto ? Kako najjednostavnije da nateram program da "saceka" 1 sec sa nastvakom izvrsenja ? Sve ovo se desava u CImeProjektaView klasi. |