Avatar billede sirius Nybegynder
15. april 2000 - 12:05 Der er 10 kommentarer og
3 løsninger

canvas ?

Er der ikke noget der kan gøre så alt man har tegnet med canvas ikke bliver slettet når man trækker et andet vindue hen over ???
Avatar billede sjensen Nybegynder
15. april 2000 - 12:26 #1
Du skal bare bruge formens OnPaint eller OnActivate metode til at genskabe det.

Avatar billede lrj Nybegynder
15. april 2000 - 13:28 #2
...hvilket jo så forudsætter at du har gemt hvad du har tegnet...
Avatar billede sirius Nybegynder
15. april 2000 - 15:09 #3
altså hver gang man tegner noget, skal man gemme det.. og så OnActivate skal det tegnes igen ?
Avatar billede theill Nybegynder
15. april 2000 - 20:21 #4
Det er ikke nok at laegge koden i 'OnActivate', da den kun bliver kaldt, naar selve vinduet modtaget focus.
Avatar billede pellelil Nybegynder
24. april 2000 - 09:18 #5
Det er helt korrekt at DU skal holde rede på hvad der er tegnet og DU skal sørge for at det gentegnes når din form modtager et event derom (altså OnPaint).

Hvis det er koplekse tegninger der er svære at "genskabe" kan du i stedet for at tegne direkte på formens canvas så tegne på en Canvas du har i hukommelsen ,evt. tilføj denne canvas som en del af din "forms variabler" (Formens create/destroy skal således create og dispose denne ekstra TCanvas). I din OnPaint kopiere du således blot indholdet af din "interne" canvas til formens canvas.
Avatar billede sirius Nybegynder
24. april 2000 - 21:30 #6
hvordan går man det du har beskrvet til sidst pellelil ?
Avatar billede pellelil Nybegynder
24. april 2000 - 21:47 #7
Du har en kommando der hedder "CopyRect" (Copies part of an image from another canvas into the canvas).
Avatar billede sirius Nybegynder
26. april 2000 - 21:35 #8
altså hver gang der bliver tegnet en lille firkant på formen.. gemmer jeg hele formen med copyrect.. og så kan man bare tegne den igen ved at tegne den man har copyet den til ?
Avatar billede pellelil Nybegynder
26. april 2000 - 22:47 #9
Jeg vil foreslå at du ALTID "tegner" på din sekundære canvas og så kopiere den til formens Canvas efter behov (i forbindelse med OnPaint).
Avatar billede sirius Nybegynder
26. april 2000 - 22:49 #10
gider du ikke komme med et lille eksempel.. så jeg har lidt at gå ud fra..
Avatar billede poull Nybegynder
10. maj 2000 - 09:46 #11
Det mest praktiske er nok bare at tegne det du ellers tegnede på canvasen på en TBitmap, for så kan du bare tegne bitmapppen på OnPaint (jeg tror ikke det er nødvendigt at gøre noget OnActivate ???)
Avatar billede borrisholt Novice
23. maj 2000 - 20:09 #12
poull er inde på noget af det rigtige. Jeg har sendt dig en e-mail med nogle eksempler på how to do ...

Problemer er bare at en canvas er langsom, derfor bruger man en bitmap til at tegne på, som man så med StretchDraw tegner over på sin Canvas.

DOg har jeg udviklet men egen Bitmap JBitmap, som er noget hurtigere end den Borland leverer ...

Det hele er sendt til dig i en e+mail

Jens B
Avatar billede sirius Nybegynder
23. maj 2000 - 23:51 #13
borris: jeg har ikke fået nogen email :(
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