Avatar billede sion Nybegynder
08. oktober 2002 - 18:13 Der er 6 kommentarer og
1 løsning

Scrolle og vride et grid

Jeg er igang med at lave et program til at tegne isometiske figure med, hvor man tegner streger fra forskellige punkter opsat i et "grid". Men jeg er rendt ind i problemmer da jeg godt kunne tænke mig at kunne scrolle op/ned og "vride" grid'et.

Jeg har til optegningen af punkterne i grid'et brugt følgende kode (picturebox'ens scale er sat således at punktet (0,0) ligger lige i midten):
Public Sub TegnKoor(Objekt As PictureBox)
    Objekt.Cls
   
    'Definition af farve
    Dim Farve As OLE_COLOR
    Farve = vbBlack '&HE0E0E0
   
    'optegning af lodrette og vandrette streger
    Dim ix As Integer, ip As Integer
    For ix = Objekt.ScaleTop To Objekt.ScaleHeight / 2
        For ip = Objekt.ScaleLeft To Objekt.ScaleWidth / 2
            'Tegn prikker
            Objekt.PSet (ix, ip), Farve
        Next ip
    Next ix
End Sub

Nogen der kan gennemskue hvordan det skal gøres?
Avatar billede tubber Juniormester
08. oktober 2002 - 23:10 #1
Jeg ved ikke om det løser dit problem, men der skal da helst ikke være vandrette linier i isometrisk tegning, der tegner man de lodrette linier som op ad, og linien til højre som 30 grader og den til venstre 30 grader fra lodret :O)

/Tubber
Avatar billede sion Nybegynder
08. oktober 2002 - 23:12 #2
nååå, jo, det har du egentligt ret i... det må jeg hellere få rettet :D
Avatar billede tubber Juniormester
08. oktober 2002 - 23:33 #3
hmmmmm......

Mon man kunne lave noget med museknappen nede, så tage muse kordinatet og sige det er "0,0" og så lægge det til din aktuelle (0,0) i dit kordinatsystem og bruge den der .redraw.......

Ved ikke om det virker med det er da et forslag :O)
Avatar billede sion Nybegynder
09. oktober 2002 - 10:52 #4
Tubber-> Det er slet ikke så kompliceret... Det er bare noget med at man skal bruge picturebox'ens scaletop/scaleleft til at sætte grid'ets startposition, men problemet ligger i at den "TegnKoor"-funktion jeg har lavet, så ikke virker rigtigt - der er bestemte rækker og kolonner der ikke bliver tegnet når man scroller tilstrækkeligt meget...
Avatar billede tubber Juniormester
09. oktober 2002 - 10:56 #5
er det så noget med størelsen på din picturbox - at du når til enden af den ?
Avatar billede sion Nybegynder
09. oktober 2002 - 11:02 #6
nej, det tror jeg ikke... Jeg har prøvet at indsætte en scrollbar til at scrolle op/ned på picturebox'ens scale og dermed også på det der bliver tegnet i boxen. Koden er som følger:

Private Sub VScroll1_Scroll()
    pic.ScaleTop = -(VScroll1.Value / 2)
    OpdatérStreger '(heruder Tegnkoor pic)
End Sub
Avatar billede sion Nybegynder
13. oktober 2004 - 20:04 #7
Har droppet programmet.
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