Avatar billede dyrby Nybegynder
21. maj 2002 - 14:40 Der 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.
Avatar billede jpk Nybegynder
21. maj 2002 - 14:43 #1
Har du problemer med at det går for langsomt?
Avatar billede dyrby Nybegynder
21. maj 2002 - 14:58 #2
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.
Avatar billede jpk Nybegynder
21. maj 2002 - 15:02 #3
Kontroller beregner typisk dette runtime uden problemer!
Hvis det er simpel udregning tror jeg ikke du behøver spekulere på det.
Avatar billede jpk Nybegynder
21. maj 2002 - 15:04 #4
Du kan naturligvis sagtens lave et DC i memory for hver kontrol, men så skal du jo beregne lidt mere brug af RAM.
Avatar billede disken Nybegynder
21. maj 2002 - 15:59 #5
FUCK hvor er du ring nu må jeg grine, HAHAHAHAHAHAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAHH
Avatar billede dmcn Praktikant
21. maj 2002 - 16:10 #6
disken er deaktiveret.
- n0rmality, coadmin
Avatar billede jpk Nybegynder
21. maj 2002 - 16:12 #7
Tak..!
Avatar billede dyrby Nybegynder
21. maj 2002 - 16:16 #8
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!
Avatar billede jpk Nybegynder
21. maj 2002 - 16:24 #9
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
Avatar billede dyrby Nybegynder
31. maj 2002 - 12:38 #10
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 :))
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester