21. maj 2002 - 14:40Der er
8 kommentarer og 2 løsninger
CDC memDC hvordan ;)
I mit projekt har jeg et grid med celler som jeg kan få "OnDraw" info på. De fleste celler bliver holdt ved lige selv, men der er at par celler hvor jeg skal tegne grafik i (en per række). Dette skal gøres med "OnDraw" på de enkelte celler. I denne funktion får jeg et pDC til den aktuelle celle at arbejde i. Grafikken, der skal tegnes, bliver beregnet ud fra nogle data som er knyttet til de enkelte rækker. Jeg kan godt finde ud af at få tegnet det jeg skal / som det skal.
Min tanke er nu bare om jeg ikke kan lave en memDC til hver række som jeg kan nøjes med opdatere, når det er nødvendigt og kopiere ind i grid'et "OnDraw" - på den måde slipper man for at beregne udseendet af grafikken ved hver "OnDraw".
Håber du er med endnu ;)
Kender du nogen eksempler eller har du nogen forslag til hvordan jeg kan gøre dette (hvis det kan) vil jeg bliver glad for at høre om det.
Nej det har jeg ikke :| men jeg har heller ikke skaleret det op endnu, der kan blive over to hundrede rækker som alle skal have beregnet en del ved hver OnDraw, og det ville da, i mit hoved i hvertfald, være pænere hvis man kan nøjes med at lave disse beregninger når det er nødvendigt.
Hvis der er noget der er nysgærrige for hvad det er for beregninger er det "free busy" information vist som i OutLook når man skal bukke et møde med andre og se om de er ledige. Den måde det skal vises på er afhængige af hvordan man har valgt at se information på med mere... Derfor er der en del beregniger med størrelser o.s.v for hver række.
Og hvis der er andre der har noget mere begavet at sige vil jeg da meget gerne høre fra dem også :) Og til dig disken - kan jeg da kun ydmygst takke for dit hensynsfulde, udybende samt begavede indlæg -nu er jeg belevet meget klogere på mit problem :) tak for det! ville bare ønske du havde formuleret det som et svar så jeg kunne have givet dig alle mine point!
Hvis du vælger metoden med et memory DC kan du gøre følgende: 1) Opret et CDC 2) Opret et CBitmap og "select" det med DC'et 3) Tegn det du skal 4) Ved hver OnDraw kan du blitte (CDC::BitBlt) dit memory DC til skærmens DC
Ja.. ok.. nu har jeg prøvet med lidt flere rækker... og det ser ud til at du har ret :) det påvirker ikke opdateringstiden så det er til at få øje på :)
Derfor får du lidt af pointene (du svarede jo ikke på det egentlige spg :))
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.