[ stargazer @ 05.04.2006. 15:57 ] @
Napravio sam spliter prozor koji treba da razdvaja 2 tab kontrole. Međutim kada se spliter pomera i menja veličina tab kontrola, one trepću.

Da li se ovo treptanje može nekako ukloniti?

Pitam da li može zato što sam našao neki programčić sa sorsom koji slično implementira spliter i kod njega se javlja isto treptanje.
Ako nekom nije jasno o kakvom treptanju ja ovde pričam, program sam stavio na sledeću adresu :
http://www.savefile.com/files/9080576
[ X Files @ 05.04.2006. 16:38 ] @
Radi se o tzv, flickering-u, koji se može sprečiti na nekoliko načina. Jedna od tipičnih
tehnika je "double buffering", mada postoje i neki zaobilazni načini.

Koji kompajler/okruženje koristis?

Kada je u pitanju Borland C++ Builder, postoji skriveni Property glavne forme
DoubleBuffered, koga je dovoljno postaviti na true i trebalo bi da je problem
resen.

P.S.

Za MFC pogledaj mozda ovde:
http://www.codeproject.com/gdi/flickerfree.asp


[Ovu poruku je menjao X Files dana 05.04.2006. u 17:55 GMT+1]
[ stargazer @ 05.04.2006. 20:10 ] @
imam MSVC++ 2003, a MFC ne radim
[ stargazer @ 06.04.2006. 19:31 ] @
hvala X, ali promenio sam koncept promene veličine tab kontrola, na taj način da se ne menja ta veličina dok se ne primi poruka WM_LBUTTONUP

sada se dešava to da spliter neće da se iscrta na obe tab kontrole ( http://www.savefile.com/files/9080576 )
ako neko ima neku ideju?!?!?
stvarno sam previše vremena izgubio na izradi glupavog splitera
[ X Files @ 06.04.2006. 19:40 ] @
Čekaj, ja ne vidim ništa neobično u primeru koji si postavio za skidanje... Šta treba da uradim
sa Splitterom pa da vidim taj bug?

U svakom slučaju nakom WM_LBUTTONUP možeš da odradiš i:

Invalidate()
Repaint()

... i sve bi trebalo da dodje na svoje mesto.
[ stargazer @ 07.04.2006. 13:13 ] @
Citat:

Čekaj, ja ne vidim ništa neobično u primeru koji si postavio za skidanje... Šta treba da uradim
sa Splitterom pa da vidim taj bug?


Ono što se kod mene dešava je to da kada povučem spliter ka levo, iscrta se crna hrapavo obojena linija koja treba da ukazuje do koje je pozicije spliter došao. Međutim kada ga povučem ka desno, tj. preko desne tab kontrole ta linija se ne iscrta. To je problem o kome sam govorio.

Ne znam zašto se to dešava, jer sam obe tab kontrole podklasovao i isto inicirao. Takođe sam u obe na isti način obradio poruke za crtanje.


[Ovu poruku je menjao stargazer dana 07.04.2006. u 14:16 GMT+1]