Contrôle IE

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
mdanielm
Membre émérite
Membre émérite
Messages : 202
Enregistré le : mer. 11 déc. 2013 19:48
Status : Hors ligne

Contrôle IE

#1

Message par mdanielm » mar. 21 août 2018 10:30

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
 

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5749
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Contrôle IE

#2

Message par mikell » mar. 21 août 2018 11:59

<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>'
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

Avatar du membre
mdanielm
Membre émérite
Membre émérite
Messages : 202
Enregistré le : mer. 11 déc. 2013 19:48
Status : Hors ligne

Re: Contrôle IE

#3

Message par mdanielm » mar. 21 août 2018 13:08

C'est bon, merci de ta réponse.
Mais je ne comprends pas pourquoi <mark> fonctionne dans l'exemple 1.

Avatar du membre
mikell
Modérateur
Modérateur
Messages : 5749
Enregistré le : dim. 29 mai 2011 16:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Contrôle IE

#4

Message par mikell » mar. 21 août 2018 14:50

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"
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )

Avatar du membre
orax
Modérateur
Modérateur
Messages : 1454
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Contact :
Status : Hors ligne

Re: Contrôle IE

#5

Message par orax » jeu. 13 sept. 2018 18:01

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).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)

Répondre