Grafica di base: tracciare una linea

di il
2 risposte

Grafica di base: tracciare una linea

Buongiorno a tutti, questo è il promo messaggio che invio.

Eccovi il mio problema: vorrei utilizzare il VisualBasic attraverso Excel per tracciare delle linee su una carta geografica.
In estrema sintesi, devo caricare la carta geografica (me la procuro) ed utilizzare l'istruzione LINE specificando le coordinate degli estremi (in caso di segmenti) o una serie di PSET in caso di tratti curvilinei.

Premetto che sono un assoluto neofita del VisualBasic. Me la cavavo egregiamente con il QuickBasic molti anni fa, a anche se la logica è identica, la struttura delle istruzioni è leggermente diversa.

Ebbene: ho creato un pulsante di comando e vi ho associato queste istruzioni

Private Sub CommandButton1_Click()
Line (10, 10)-(20, 20)
End Sub

Però non fuziona e mi dice: Errore di compilazione / Impossibile trovare il metodo o il membro dei dati

Qualcuno mi può aiutare? Probabilmente è un errore idiota, magari bisogna solo definire una modalità grafica... non lo so.
E' che se riesco a tracciare una singola linea, poi sono sicuro di riuscire a raggiungere il mio obiettivo, è tutta questione di parametri.

Grazie a tutti.

Bobri (Davide)

2 Risposte

  • Re: Grafica di base: tracciare una linea

    Se stai disegnando sul Form devi dare prima questa istruzione:
    
    Scale (x0, y0) - (x1, y1) 
    
    con questo comando setti la scala orizzontale e verticale dello schermo. (x0, y0) è il punto in alto a sinistra e (x1, y1) è il punto in basso a destra.

    se invece stai disegnando la cartina in qualche oggetto (tipo imagebox o come si chiama...) allora dai
    
    oggetto.Scale (x0, y0) - (x1, y1) 
    
    dove al posto di oggetto ovviamente devi mettere il riferimento all'oggetto in cui carichi la cartina
  • Re: Grafica di base: tracciare una linea

    Non sono esperto di Excel, ma non ho capito cosa centra; sei su una macro di Excel o su una form di VB6?
    Nel primo caso non Ti posso aiutare.
    Nel secondo devi avere prima caricato l'immagine, p.es. in una PictureBox o Image e solo dopo puoi disegnare la linea.
    Al tuo codice manca l'oggetto su cui effettuare il disegno!
    'Se DrawWidth è impostata su un valore maggiore di 1,
    'le impostazioni di DrawStyle comprese tra 1 e 4 creeranno
    'una linea continua (il valore della proprietà DrawStyle è invariato).
    
    'Se DrawWidth è impostata su 1, tutte le impostazioni
    'DrawStyle corrisponderanno a quelle descritte nella tabella
    '0 (VbSolid) = continua
    '1 (VbDash) = Lineetta
    '2 (VbDot) = Punto
    '3 (VbDashDot) = Lineetta-punto
    '4 (VbDashDotDot) = Lineetta-punto-punto
    '5 (VbInvisible) = Trasparente
    '6 (VbInsideSolid) = Continuo interno
    
    With Picture1
        .DrawWidth = 4              'spessore in pixel della linea
        .DrawStyle = vbDashDot      'struttura della linea: linea-punto
    End With
    'con il metodo 'Line' non si può usare 'With'
    Picture1.Line (10, 10)-(2000, 2000)
    
    Salutoni
Devi accedere o registrarti per scrivere nel forum
2 risposte