[ Nedeljko @ 10.08.2010. 11:00 ] @
Hteo bih da iscrtam ponovo samo jedan pravougaoni deo prozora. OnPaint metoda mi je već složena i ponovno iscrtavanje celog prozora mi je sporo.
[ X Files @ 10.08.2010. 11:23 ] @
InvalidateRect ?

http://msdn.microsoft.com/en-us/library/2f3csed3(VS.80).aspx

Ipak, pogledaj i ovo:
http://www.tech-archive.net/Ar...ublic.vc.mfc/2004-03/1555.html
Citat:

...
The real solution to visible flicker is to override OnEraseBkgnd() and
not call the base class (suppressing the visible white flash), then in
OnDraw draw into an offscreen bitmap and blit the image to the view.
This accomplishes both the erase and the paint in a single (and fast)
step. There is a great example of this flicker-elimination technique in
the MFC DrawCLI sample code.
...

[ Nedeljko @ 10.08.2010. 11:37 ] @
Aha, samo još jedna sitnica.

Na dijalogu su neke kontrole. Treba sprečiti njihovo ponovno iscrtavanje.
[ X Files @ 10.08.2010. 11:41 ] @
Postoji i InvalidateRgn, ali ako se radi o generalno o flicker-ingu, treba razmotriti Google: "mfc double buffering" tehniku, npr => http://www.codeproject.com/KB/GDI/flickerfree.aspx






[ Nedeljko @ 10.08.2010. 11:50 ] @
OK je sve to, ali bih radije da se te druge kontrole NE ISCRTAVAJU ponovo.
[ deerbeer @ 10.08.2010. 12:19 ] @
Pa postavi ih da budu invisible i nece se ponovo iscrtavati .
[ Nedeljko @ 10.08.2010. 12:43 ] @
Sa ShowWindow(FALSE)? Pa, odoše kontrole. Ja hoću da one i dalje budu prikazane, samo da se računar ne muči oko iscrtavanja, jer je nepotrebno.
[ deerbeer @ 10.08.2010. 13:10 ] @
Citat:

Ja hoću da one i dalje budu prikazane

Sta hoces da ti se prikaze ? Samo caption i okvir od prozora ?
A sadrzaj unutar te kontrole da se ne iscrtava ?
[ Nedeljko @ 10.08.2010. 13:42 ] @
Kontrola je u dijalogu već iscrtana. Treba da iscrtam nešto u delu dijaloga koji nema zajedničkih tačaka sa tom kontrolom koja je na dijalogu. Dakle, crtež kontrole ostaje takav kakav jeste.
Imam veliko treperenje usled ponovnog iscrtavanja kontrole na dijalogu koja je potpuno nepromenjena. Hteo bih jednostavno da se to izbegne, jer nema ni potrebe da kontola bude ponovo iscrtana, budući da je nepromenjena.
[ deerbeer @ 10.08.2010. 13:54 ] @
Ako sam te shvatio , odgovor ti je dao XFiles (InvalidateRect ili InvalidateRgn ) u kombinaciji sa OnEraseBkgnd eventom .
To je standardni nacin u MFC-u za rucno iscrtavanje pomocu GDI metoda .
Ako nije to sto trazis , okaci neki screenshot programa pa da vidimo ...
[ Nedeljko @ 10.08.2010. 14:27 ] @
Omašio sam pravougaonik koji treba ponovo iscretavati. Takođe je OnEraseBkgnd ispeglao stvar na delu koji treba ponovo da se iscrta. Sad je dobro. Hvala.