Re: Questions à propos de l'AcitveX WebBrowser (shell.explorer)
Posté par gp13 le 16/9/2008 12:21:28
Le code suivant marche parfaitement :
--------------------------------------------
Dans Déclarations globales de la fenêtre contenant le champ ACTIVEX1
READYSTATE_UNINITIALIZED est un entier = 0
READYSTATE_LOADING est un entier = 1
READYSTATE_LOADED est un entier = 2
READYSTATE_INTERACTIVE est un entier = 3
READYSTATE_COMPLETE est un entier = 4
// L'ActiveX est-il installé ?
RegistreExiste("HKEY_CLASSES_ROOT\Shell.Explorer")
SI ErreurDétectée ALORS
Erreur("Cette application nécessite Internet Explorer 4 minimum")
FinProgramme()
FIN
// Chargement de l'ActiveX
ActiveX1="Shell.Explorer"
// Instanciation OK ?
objTest est un objet OLE dynamique = ActiveX1
SI objTest = Null ALORS
libérer objTest
FinProgramme("L'ActiveX Internet Explorer n'a pas pu être chargé")
FIN
libérer objTest
--------------------------------------------
Dans INITIALISATION du champ ACTIVEX1
ActiveXEvénement("DocumentComplete", ActiveX1, "DocumentComplete")
--------------------------------------------
PROCEDURE DocumentComplete(pDisp,URL)
vReadyState est un entier
vReadyState = ActiveX1>>ReadyState()
SELON vReadyState
CAS READYSTATE_UNINITIALIZED :
...
CAS READYSTATE_LOADING :
...
CAS READYSTATE_LOADED :
...
CAS READYSTATE_INTERACTIVE :
...
CAS READYSTATE_COMPLETE :
ActiveX1>>Document>>Body>>Style>>OverflowX("hidden")
ActiveX1>>Document>>Body>>Style>>OverflowY("hidden")
WDownLoadComplete = Vrai
FIN
-----------------
Je précise que pour changer les scroll barres il est impératif que la page web soit totalement chargée d'où l'utilité de placer le code dans la procédure ( DocumentComplete) de fin de chargement de la page.
-----------------
// pour réafficher les scroll barres
ActiveX1>>Document>>Body>>Style>>OverflowX("")
ActiveX1>>Document>>Body>>Style>>OverflowY("")
Je complete ce sujet en précisant qu'il est également possible d'agir sur les marges de la page affichée
// affecte les marges
ActiveX1>>Document>>Body>>TopMargin(20) // marge haute
ActiveX1>>Document>>Body>>BottomMargin(20) // marge basse
ActiveX1>>Document>>Body>>LeftMargin(25) // marge gauche
ActiveX1>>Document>>Body>>RightMargin(25) // marge droite
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=19&topic_id=5989&post_id=24162