Page 1 sur 1

Contrôle IE

Posté : mar. 21 août 2018 10:30
par mdanielm
Bonjour,
Est-il possible d'embarquer dans une gui un contrôle IE qui reconnaisse la balise de surlignage <mark> comme dans l'exemple 1 ci dessous ?

#include <IE.au3>
#include <GUIConstants.au3>

Global $sHTML = "<!DOCTYPE html><html><body><h1>Hello <mark>World</mark> !<h1></body></html>"
FileDelete("essai.htm")
FileWrite("essai.htm", $sHTML)


Surlign1() ; mot surligné mais pas de GUI
;Surlign2() ; pas surligné
;Surlign3()  ; pas surligné


func Surlign1()
        Local $oIE = _IECreate()
        Local $sHTML = "<h1>Hello <mark>World</mark> !<h1>"
        _IEBodyWriteHTML($oIE, $sHTML)
EndFunc

func Surlign2()
        GUICreate("titre", 400, 200, 0, 0)
        local $oIE = ObjCreate("Shell.Explorer.2")
        GUICtrlCreateObj($oIE, 20, 20, 300, 100)

        _IENavigate($oIE, "file:///" & @ScriptDir & "/essai.htm")

        GUISetState(@SW_SHOW)
        Do
        until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc

func Surlign3()
        Local $oIE = _IECreateEmbedded()
        GUICreate("titre", 400, 200, 0, 0, $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
        GUICtrlCreateObj($oIE, 20, 20, 300, 100)

        _IENavigate($oIE, "file:///" & @ScriptDir & "/essai.htm")

        GUISetState(@SW_SHOW) ;
        Do
        until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc
 

Re: Contrôle IE

Posté : mar. 21 août 2018 11:59
par mikell
<mark> est une balise html5
Tu pourrais essayer ça
Global $sHTML = '<!DOCTYPE html><html><body><h1>Hello <span style="background-color: #FF0000">World</span> !<h1></body></html>'

Re: Contrôle IE

Posté : mar. 21 août 2018 13:08
par mdanielm
C'est bon, merci de ta réponse.
Mais je ne comprends pas pourquoi <mark> fonctionne dans l'exemple 1.

Re: Contrôle IE

Posté : mar. 21 août 2018 14:50
par mikell
Probablement parce que tu n'as pas affaire au même objet (mes compétences en la matière sont maigres :? )
Dans l'exemple 1, c'est "InternetExplorer.Application", dans 2 et 3, c'est "Shell.Explorer.2"

Re: Contrôle IE

Posté : jeu. 13 sept. 2018 18:01
par orax
Peut-être que le contrôle utilise une ancienne version du moteur de rendu d'Internet Explorer. Voir la page IE Embedded Control Versioning (use IE9+ and HTML5 in a GUI).