Facendo clic su Nuovo
progetto/Controllo ActiveX, ripetendo la procedura illustrata nel precedente
esercizio, generiamo un Form chiamato UserControl1 che costituisce
l'ambiente nel quale andremo a posizionare i componenti della nostra
presentazione animata.
In UserControl1 inseriamo un
Timer, una Label, due PictureBox e una Image.
Specifichiamo UserControl1.Backcolor=
Blu.
Specifichiamo Timer/Interval = 80.
Definiamo Label1/Caption =
"PRESENTAZIONE".
Specifichiamo Picture1/Visible =
False; Picture2/Visible = False.
Carichiamo Picture1/Picture Il
File immagine "puntisubianco.bmp" dalla cartella dove andremo a
salvare le immagini che prelevate da questo sito: scarica ora l'esempio con le immagini
Carichiamo Picture2/Picture il
File immagine "puntisunero.bmp" dalla cartella dove avrete scaricato
in precedenza le immagini contenute nel file esempio.zip
Posizioniamo Image1 in basso a
sinistra nel UserContrl1.
Definiamo il nome del Progetto
"Presentazione" facendo clic con il pulsante destro del mouse su Project1
nel Box Progetto/Presentazione proprietà posto sulla destra
del monitor.
L'interfaccia UserControl1 dovrebbe
avere l'aspetto mostrato nella figura seguente.
Salvare in un file sia UserControl1 sia
Progetto.
Dal menu Aggiunte/Gestione aggiunte,
importiamo Creazione guidata interfaccia controlli ActiveX definendolo
"caricato" come mostra la figura seguente.
Il Wizard verrà incluso nel menu Aggiunte.
Facciamo clic sul Wizard appena comparso
tra le aggiunte e, dopo la schermata di presentazione, passiamo alla maschera
mostrata di seguito, che riporta le proprietà, i metodi e gli eventi che
poptrebbero essere utilizzati per UserControl1.
Le due maschere successive riguardano
l'aggiunta e l'attribuzione (Mapping) di eventuali funzionalità
personalizzate(non previste in questo esempio). Spostiamoci pertanto all'ultima
finestra e facciamo clic su Fine. Il Wizard creerà il codice richiesto
dall'applicazione che attende, tuttavia di essere personalizzato per poter
rispondere completamente alle nostre aspettative. Apriamo la finestra di codice
e, lasciamo invariato tutto quanto creato dal Wizard, scriviamo, in
corrispondenza di Timer1, quanto segue:
Private Sub Timer1_Timer()
Dim casuale As Integer
Dim casuale1 As Integer
Static a As Integer
casuale = Int(10 * Rnd)
casuale1 = Int(300 * Rnd)
If Image1.Top - casuale1 > 400 Then
Image1.Move Image1.Left + casuale, Image1.Top - casuale1
Label1.Move Label1.Left, Label1.Top
Else
Image1.Move Image1.Left - 5 + casuale, Image1.Top + 4 * casuale1
End If
If a Then
Image1.Picture = Picture2.Picture
Else
Image1.Picture = Picture1.Picture
End If
Label1.Left = Label1.Left + 100
If Label1.Left > 4000 Then
Label1.Left = Label1.Left - 5000
End If
a = Not a
End Sub
Compiliamo: menu File, "Presentazione.OCX".
Apriamo Nuovo Progetto/EXE standard.
Apriamo Progetto/Componenti e
facciamo clic sul OCX Presentazione appena creato se non compare fra gli altri
già inseriti cercatelo con il tasto Sfoglia, nella cartella in cui è stato
salvato precedentemente vedi figura seguente
Comparirà nel ToolBox l'icina
dell'ActiveX in questione. Trascinando l'ActiveX sul Form di un nuovo progetto
EXE standard e facendo clic su Avvia potremo constatare che:
a) un segnale luminoso alternato si muove nell'ambito del Form;
b) la scritta "PRESENTAZIONE" si muoverà da sinistra a destra
ciclicamente.