Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Iscrtavanje samo jednog dela prozora - MFC

[es] :: C/C++ programiranje :: Iscrtavanje samo jednog dela prozora - MFC

[ Pregleda: 3054 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.sbb.rs.



+2789 Profil

icon Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 11:00 - pre 165 meseci
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.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 11:23 - pre 165 meseci
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.
...

 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.sbb.rs.



+2789 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 11:37 - pre 165 meseci
Aha, samo još jedna sitnica.

Na dijalogu su neke kontrole. Treba sprečiti njihovo ponovno iscrtavanje.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 11:41 - pre 165 meseci
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






 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.sbb.rs.



+2789 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 11:50 - pre 165 meseci
OK je sve to, ali bih radije da se te druge kontrole NE ISCRTAVAJU ponovo.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-a-1.sezampro.yu.



+395 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 12:19 - pre 165 meseci
Pa postavi ih da budu invisible i nece se ponovo iscrtavati .

Viva lollapalooza
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.sbb.rs.



+2789 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 12:43 - pre 165 meseci
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.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-a-1.sezampro.yu.



+395 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 13:10 - pre 165 meseci
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 ?
Viva lollapalooza
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.sbb.rs.



+2789 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 13:42 - pre 165 meseci
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.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.adsl-a-1.sezampro.yu.



+395 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 13:54 - pre 165 meseci
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 ...

Viva lollapalooza
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.sbb.rs.



+2789 Profil

icon Re: Iscrtavanje samo jednog dela prozora - MFC10.08.2010. u 14:27 - pre 165 meseci
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.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Iscrtavanje samo jednog dela prozora - MFC

[ Pregleda: 3054 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.