Oppure

Loading
23/09/10 17:21
AmNi
Salve a tutti, ho creato un piccolo browser web, ma ho un problema. Ho la necessità che in un determinato webrowser la pagina web venga visualizzata adattata alla grandezza del webbrowser stesso, senza che vengano utilizzate scroll bars, ma non so come fare. Qualcuno di voi esperti può darmi una mano?
Vi ringrazio anticipatamente.
aaa
24/09/10 16:10
walker93
io uso questo codice.
premetto che uso un axwebbrowser e non un webbrowser normale
e che ho una navigazione a schede
quindi quasi sicuramente per utilizzare questo codice dovrai apportagli delle modifiche

-tooltip1 è una tooltip che mostra la percentuale di zoom
-trackbar1 invece imposta la percentuale di zoom
Dim MyWeb As Object
MyWeb = CType(tabweb.SelectedTab.Controls(0), AxWebBrowser).Application
If TrackBar1.Value >= 98 And TrackBar1.Value <= 102 Then
    TrackBar1.Value = 100
End If
MyWeb.ExecWB(63, 2, Int(TrackBar1.Value), IntPtr.Zero)
ToolTip1.SetToolTip(TrackBar1, TrackBar1.Value)
Ultima modifica effettuata da walker93 24/09/10 16:10
aaa
25/09/10 23:16
AmNi
grazie walker93 per la risposta, solo una cosa mi separa dalla soluzione.... questo axwebbrowser da dove lo prendo? dalla lista degli elementi, non lo trovo... devo importare qualche particolare dll? Immagino che "ax" stia per ActiveX, ma il problema persiste....
aaa
26/09/10 8:28
walker93
beh non è necessario usare l'axwebbrowser nel codice,
usa il webbrowser normale e anzichè
Dim MyWeb As Object
MyWeb = CType(tabweb.SelectedTab.Controls(0), AxWebBrowser).Application 


Usa:

Dim MyWeb As Object
MyWeb = WebBrowser1.ActiveXInstance


se il tuo browser è 'a schede' usa:

Dim MyWeb As Object
MyWeb = CType(tabcontrol1.SelectedTab.Controls(0), WebBrowser).ActivexIstance 


se vuoi comunque importare e usare l' axWebBrowser avevi visto giusto, si usa la dll ieframe.dll che viene importata insieme al componente:

Strumenti-->Scegli elementi della Casella degli Strumenti
poi
seleziona la tab 'Componenti COM' e cerca "Microsoft Web Browser"

ovviamente se usi visual studio in inglese dovrai tradurre quanto ho scritto

spero di averti aiutato:k:
Ultima modifica effettuata da walker93 26/09/10 8:41
aaa
27/09/10 16:10
Il Totem
Usare controlli COM in un'applicazione .NET è male.
aaa
27/09/10 22:50
AmNi
Postato originariamente da Il Totem:

Usare controlli COM in un'applicazione .NET è male.
grazie per il consiglio, invece per quanto riguarda il mio problema continuo a ringraziarti walker93 per la pazienza ma quando eseguo il debug dell' applicazione e vado a caricare questo codice
     Dim MyWeb As Object
        MyWeb = webbrowser1.ActiveXInstance
        MyWeb.ExecWB(63, 2, val, IntPtr.Zero)
mi da questo errore
Tentativo di revoca di un obiettivo di rilascio che non è stato registrato. (Eccezione da HRESULT: 0x80040100 (DRAGDROP_E_NOTREGISTERED))
Cosa sta a significare?!?
Ultima modifica effettuata da AmNi 27/09/10 23:05
aaa
28/09/10 12:05
walker93
sarò sincero:
non ho capito la causa dell'errore PERO' è bastato racchiudere 'val' tra parentesi per farlo funzionare:
Dim MyWeb As Object
MyWeb = webbrowser1.ActiveXInstance
MyWeb.ExecWB(63, 2, (val), IntPtr.Zero)

Probabilmente a me, visto che usavo la funzione Int(val), non restituiva errori. Quindi dovrebbe bastare racchiudere 'val' tra parentesi...
io ho provato e funziona

ripeto non so ne la causa dell'errore ne perchè aggiungendo quelle parentesi apparentemente inutili il problema viene risolto...Però funziona.
Ultima modifica effettuata da walker93 28/09/10 12:06
aaa
28/09/10 12:58
AmNi
Postato originariamente da walker93:

sarò sincero:
non ho capito la causa dell'errore PERO' è bastato racchiudere 'val' tra parentesi per farlo funzionare:
Probabilmente a me, visto che usavo la funzione Int(val), non restituiva errori. Quindi dovrebbe bastare racchiudere 'val' tra parentesi...
io ho provato e funziona
A me invece no, continua a dare lo stesso errore... :d
aaa