Sincronizza Indice |
Scarica il progetto |
Testo dell'articolo |
Stampa l'articolo |
All'interno di un form ho inserito un controllo WebBrowser che carica una determinata pagina Web al suo interno. Vorrei utilizzare una ProgressBar per monitorare l'avanzamento del caricamento della pagina Web. Il progetto in questione è molto semplice, ma è necessario possedere due controlli OCX: Microsoft Internet Controls (SHDOCVW.OCX) e Microsoft Windows Common Controls 5.0 (COMCTL32.OCX). Il primo è incluso in ogni versione di Microsoft Internet Explorer 5.0, mentre il secondo è installato con Visual Basic 5 Professional. Entrambi comunque sono liberamente scaricabili all'indirizzo web di casa Microsoft. Una volta assicurati che questi controlli sono installati sul computer apriamo la voce Componenti dal menu Progetto di VB. Selezioniamo i due controlli in questione e premiamo OK. Questo farà sì che appaiano sulla casella dei controlli le icone che vediamo a lato. I primi 8 sono i controlli comuni di Windows (COMCTL32.OCX), mentre l'ultimo è l'oggetto WebBrowser che istanzia una finestra di Internet Explorer all'interno di un form.
Passiamo al nostro progetto: all'interno di un form inseriamo un WebBrowserdi nome WebBrowser1, una ProgressBardi nome Avanzamento ed un CommandButtondi nome PulsanteVai. Noi li abbiamo disposti così:
Nel momento in cui l'utente clicca il pulsante Vai viene comunicato alla finestra del browser di caricare e mostrare una pagina web. Vediamo intanto questo pezzettino di codice:
La funzione è semplicissima: all'evento Click sul pulsante PulsanteVai viene eseguito il metodo Navigate2 con l'indirizzo web da mostrare. Passiamo ora allo scopo di questa richiesta: monitorare con una ProgressBar
il caricamento della pagina web.
Alla riga 6 abbiamo inserito un'istruzione di gestione degli errori perché al termine del caricamento il valore dell'avanzamento può essere inferiore a 0 e può generare un errore. Esistono soluzioni più pulite per effettuare queste operazioni, ma questa è la più semplice.
Alle righe 7 e 8 definiamo i limiti della barra di avanzamento, impostando
la proprietà Min a 0 e la proprietà Max a
ProgressMax.
Eseguiamo il programma e vediamo il suo effetto. Naturalmente per vedere
il corretto funzionamento del codice è necessario che la connessione
ad Internet sia attiva. |
Come per tutte le altre richieste, è presente il progetto scaricabile, ma in questo caso il caricamento del codice da noi fornito può presentare alcune difficoltà. Infatti tutti i componenti ActiveX hanno un loro CLSID registrato nel sistema. In caso di versioni differenti dei componenti, anche il CLSID può differire, rendendo il progetto non eseguibile. Fibia
FBI
|
Torna all'introduzione delle Richieste dei lettori |