Il programma sarà l'implementazione di un
nuovo progetto con un form sul quale memorizzare le previsioni del tempo giorno per
giorno.( Creimo solo l'interfaccia grafica senza preoccuparci di salvare i
dati in un DataBase cosa che credo molti di voi sappia fare facilmente ). A questo scopo
avremo bisogno di un controllo per selezionare un determinato giorno senza doverlo
inserire manualmente, poi inseriremo 4 pulsanti che rappresentano visivamente le varie
condizioni atmosferiche, una lista con le previsioni e una textbox per inserire le note.
Naturalmente i dati sul tempo li prenderemo da un servizio metereologico ad es. le
previsioni del tg5. Il nuovo IMAGELIST
In questa pg analizzeremo il nuovo ImageList. ImageList
può contenere come già dice il nome un insieme di immagini da usare con altri controlli
standar di VB6 ad es. nel nostro caso i Command Button.Molti di voi conoscono bene
l'uso di questo controllo ma un piccolo ripasso non guasta mai e soprattutto aiuta i
neofiti. Questo controllo permette di ridurre i tempi di sviluppo perchè è possibile
scrivere del codice che fa riferimanto ad un solo catalogo di immagini. Anzichè scrivere
il codice per il caricamento di bitmap o icone usando la funzione LoadPicture si può
popolare il controllo ImageList una volta sola quindi assegnare valori univoci alla
proprietà Key e scrivere il codice in cui si fa riferimento alle immagini per mezzo della
proprietà Index o Key. Oltre ai file di tipo bitmap e icona con il VB6 è possibile usare
anche i file JPEG e GIF oltre a CUR. E' possibile aggiungere e rimuovere
immagini in fase di progettazione o esecuzione.Per ImageList sono disponibili le
proprietà standard delle Collezioni cioè Key e Index ed i metodi Add, Remove e Clear.
Per aggiungere un immagine in fase di progettazione si usa la pagina delle proprietà e
dopo aver scelto la dimensione basta andare al Tab successivo e premere inserisci
immagine verrà così visualizzata sullo schermo la finestra "Seleziona
immagine" in cui individuare i file desiderati. per il nostro programmino
inseriremo delle icone messe a dispèosizione da VB6 nella dir
Common\Graphics\Icons\Elements le icone saranno Sun,Rain e Snow ed impostare un valore
univoco per la proprietà Key. Assegnando un valore univoco alla proprietà Key
dell'oggetto ImageList il codice risulta nettamente di più semplice lettura.
Inseriamo ora i 4 pulsanti per archiviare i nostri dati ad ognuno di loro associamo
un'immagine attraverso la nuova proprietà Picture dei Command e scriviamo nel Form_Load
quanto segue:
CommandSole.Picture = ImageList1.ListImages
("sole").Picture
CommandPioggia.Picture = ImageList1.ListImages
("pioggia").Picture
CommandNeve.Picture = ImageList1.ListImages
("neve").Picture
Per il controllo ImageList in VB6 sono disponibili oltre
al metodo Overlay che useremo tra poco anche i metodi Draw e ExtractIcon che permettono di
creare immagini composte, di disegnare immagini e di creare un icona usando una bitmap
memorizzata nell'ImageList. A qiesto punto associamo al quarto pulsante un'icona per
indicare che le condizioni meteo sconsigliano di uscire di casa questa icona l'otteremo
sovvrapponendo due immagini usando il metodo Overlay insieme alla proprietà MaskColor. Il
metodo Overlay richiede 2 argomenti il primo per specificare l'immagine sottostante
e il 2 per quella sopra. Entrambi gli argomenti possono corrispondere al valore
della proprietà Index o Key di un oggetto ImageList. Procediamo inserendo
nell'ImageList le figure di divieto reperibile nella dir
Common\Graphics\Bitmaps\Assorted\Intl_no con index 4 e dell'uomo reperibile in
Common\Graphics\Icons\Misc\Misc27 con index 5 . Per ottenere il divieto di uscire sempre
in Form_Load si scrive il codice seguente:
ImageList1.MaskColor = vbGreen
Set CommandDivieto.Picture =ImageList1.Overlay ( 5,4 )
In alternativa ad Overlay si può usare la proprietà Key
delle immagini
Set CommandDivieto.Picture =ImageList1.Overlay
("uomo","divieto" )
MaskColor è stato utilizzato per specificare il colore
che deve diventare trasparente quando si sovrappone un'immagine ad un'altra. Nel nostro
caso lo sfondo dell'immagine "divieto" è verde per cui quando nel codice la
proprietà MaskColor viene impostata su vbGreen nell'immagine composta il colore verde
diventa trasparente.
Fine seconda parte |