Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente bannato
    Registrato dal
    Oct 2005
    Messaggi
    66

    Costruire un array per copiare immagine in vb6

    Buongiorno

    Ho scritto questa routine per ottenere il seguente:

    io ho 2 forms
    sul 1° form ci sono per es. 2 imagebox VUOTI
    su 2° form ci sono pure 2 imagebox, ma PIENI di immagini precaricate.

    ecco il codice 1° box:
    image1_click
    immagine=1
    form2.show

    image2_click
    immagine=2
    form2.show


    codice 2° box:
    imageP1_click
    Select Case immagine
    Case 1
    Form1.Image1.Picture = ImageP1.Picture
    Case 2
    Form1.Image2.Picture = ImageP1.Picture
    End Select

    imageP2_click
    Select Case immagine
    Case 1
    Form1.Image1.Picture = ImageP2.Picture
    Case 2
    Form1.Image2.Picture = ImageP2.Picture
    End Select

    Con inoltre un modulo con Public Immagine AS Integer


    Se io adesso clicco su un box vuoto del primo form allora si apre il secondo form. Cliccando quindi su una delle immagini del 2° form, questa viene copiata nel box vuoto del primo.
    Come ho detto, funziona. IL problema si pone se io sul secondo form volessi metterci 100 immagini. Dovrei allora scrivere centinaia di volte lo stesso codice, ad ogni box.

    Ecco perché, per quanto detto, volevo costruire un array, per esempio con 5 box sul primo form e 100 sul secondo, senza bisogno di riscrivere il tutto.

    C'é qualcuno che puo darmi una mano a realizzare questo,con un esempio pratico, avendo come base il codice di cui sopra?

    grazie satriano

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma la parte che non sai fare qual e'?

  3. #3
    Utente bannato
    Registrato dal
    Oct 2005
    Messaggi
    66
    trasformare quello che ho scritto in una array, in modo da non ripetere,ogni volta lo stesso codice, se io dovessi mettere sul form 2 un centinaio di imagebox con immagini. Ma non sono sicuro se si possa fare, per questo l'ho chiesto.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Intendevo dire, non sai inserire su un form un controllo come elemento di un array?

    Devi semplicemente indicare un valore per la proprieta' index

    Ovvero, inserisci una Picture e metti il valore di index=0

    Poi fai un copia incolaa di quel controllo e avrai tante Picture quanto ne vuoi, organizzate in array ...

    Naturalmente 100 picture mi sembrano un po' troppe ...

  5. #5
    Utente bannato
    Registrato dal
    Oct 2005
    Messaggi
    66
    ah, ecco. E dopo aver creato una serie di box,index=0,index =1,.... 2..., é necessario ugualmente scrivere, per ogni
    picture, il codice :

    °°°°°°°°°°°°°°°°°°°
    imageP1_click
    Select Case immagine
    Case 1
    Form1.Image1.Picture = ImageP1.Picture
    Case 2
    Form1.Image2.Picture = ImageP1.Picture
    End Select

    °°°°°°°°°°°°°°°°°°°°°°°°°°°°°

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ovviamente no ... come puoi leggere nell'help di VB (ma anche facendo una semplice prova ...), l'evento sara'

    ImageP1_Click(Index As Integer)

    e Index conterra' il valore dell'elemento in questione.
    Quindi dovrebbe bastare

    codice:
    Private Sub Image1_Click(Index As Integer)
      Select Case immagine 
        Case 1 
          Form1.Image1.Picture = ImageP1(Index).Picture 
        Case 2 
          Form1.Image2.Picture = ImageP1(Index).Picture 
      End Select 
    End Sub

  7. #7
    Utente bannato
    Registrato dal
    Oct 2005
    Messaggi
    66
    Provero subito. SE ho ben capito, con:

    code:----------------------------------------------------------------
    Private Sub Image1_Click(Index As Integer)
    Select Case immagine
    Case 1
    Form1.Image1.Picture = ImageP1(Index).Picture
    Case 2
    Form1.Image2.Picture = ImageP1(Index).Picture
    End Select
    End Sub
    ------------------------------------
    io posso avere sul form2 quante immagini io voglia (a condizione che siano indexate) ed ogni volta che ne scelgo una verra copiata in uno dei box sul form1 (su image1.picture oppure su Image2.picture.)

    grazie.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sì ... se quel valore che c'e' nella Select Case (Immagine) vale 1 o 2 a seconda dei casi (di questo diciamo che mi fido dato che non so da dove provenga tale variabile), il tutto dovrebbe andare ...

  9. #9
    Utente bannato
    Registrato dal
    Oct 2005
    Messaggi
    66
    Scusa se ritorno, Oregon.

    sto per provare il tutto. Solo una precisazione:
    questo codice (array) deve essere posto sul primo o SECONDO form ? sostituisce cioé la mia prima parte o la seconda
    dell'esempio iniziale mio di codice?

    satriano

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Che domanda fai?

    La Select Case e' nel secondo form ... l'hai scritto tu nel primo post ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.