| | |
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Autor | Správa |
---|
Registrovaný: 27.11.10 Prihlásený: 29.07.12 Príspevky: 38 Témy: 20 |
Robím jeden program, v ktorom vykreslujem niečo pomocou FillRect(...); Keď program presuniem časťou mimo obrazovku a vrátim späť, miesto ktoré bolo vykreslené touto funkciou a kde nebolo program vidno je biele. Rozumiem tomu prečo to tak je, no neviem ako to obísť. diki
|
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 29.07.2012 17:25 | |
|
Assembler, C, C++, Pascal, Java
To si máme vybrať sami?
|
|
Registrovaný: 11.01.09 Prihlásený: 22.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 29.07.2012 19:22 | |
|
Ano, trebalo napisat, ktory jazyk, ale predpokladam, ze C++ a WINAPI, ako doteraz. V tom pripade zalezi na tom, kde volas funkciu FillRect. Pretoze ak ju volas v obsluhe spravy WM_PAINT, nemalo by ti to robit. Takto mi to napriklad funguje pekne:
Kód: case WM_PAINT: hdc = BeginPaint(hWnd, &ps); FillRect(hdc, &myRect, (HBRUSH) GetSysColor(COLOR_BTNTEXT) ); EndPaint(hWnd, &ps); break;
Tato obsluha sa totiz vykona prave vtedy, ak okno potrebuje byt prekleslene - a to je aj pripad presunutia okna.
|
|
Registrovaný: 27.11.10 Prihlásený: 29.07.12 Príspevky: 38 Témy: 20 | Napísal autor témy Milos9304: 29.07.2012 21:00 | |
|
ano winapi a c++ FillRect volam vo wm_paint no cely paint je naswitchovany wParamom a fillrect neni volany pri hodnote wParam == 0. to viem hravo vyriesit ale kazdy moj program si predstav ako skicar.. zakreslujem do klientskej oblasti jednotlive pixely podla vstupu do programu.. pixely kreslim FillRectom(preco to je nadlho) cize neni mozne znova obnovit obsah pomocou wm_paint(vsetky pixely sa vymazu) da sa to riesit colorref polom ale hladam neco jednoduchsie
|
|
Registrovaný: 11.01.09 Prihlásený: 22.04.24 Príspevky: 1385 Témy: 9 Bydlisko: Hrinova | Napísal Fico: 30.07.2012 11:41 | |
|
Podla mna to robis dost cudne. Bud to skus vykreslovat do nejakej bitmapy a ked to budes mat cele vykrelene v nej, potom to vykresli na formular ( alebo na nejaky vykreslovaci prvok ) alebo to cele prerob, lebo ozaj to je zbytocne komplikovane - minimalne to volanie kodu vo WM_PAINT podla podmienky.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|