Je crée un éditeur HTML WYSIWYG en intégrant GeckoFX dans une application Windows Forms dans VB.NET.
Voici le code:Comment rendre visible le contrôle GeckoFX?
Imports Gecko
...
Gecko.Xpcom.Initialize("C:\Program Files (x86)\XULrunner-33.0")
...
Dim gBrowser As New GeckoWebBrowser
TabControl1.SelectedTab.Controls.Add(gBrowser)
gBrowser.Dock = DockStyle.Fill
gBrowser.Navigate("about:blank")
Voici comment je fais la page Web modifiable:
gBrowser.Navigate("javascript:void(document.body.contentEditable='true')")
Mais après que je fais la page modifiable, le caret ne se présente pas jusqu'à ce que je clique sur la page.
Comment puis-je rendre le signe visible à un point d'insertion juste après la méthode Navigate?
Ce code n'a pas d'effet visible:
gBrowser.SetInputFocus()
Dim fm As nsIFocusManager
fm = Xpcom.GetService(Of nsIFocusManager)("@mozilla.org/focus-manager;1")
fm = Xpcom.QueryInterface(Of nsIFocusManager)(fm)
fm.MoveCaretToFocus(gBrowser.Window.DomWindow)
Merci.
Il se peut que la fenêtre soit active mais que l'élément de corps n'ait pas de focus. J'essaierais de mettre l'accent sur l'élément body et l'appel. – Tom
Salut, Tom. Merci pour la suggestion. Hélas, ce code n'a aucun effet non plus: gBrowser.Document.GetElementsByTagName ("body") (0) .Focus() – GreenBear
Est-ce que le contrôle winforms actuel a le focus (IE le GeckoWebBrowerControl) - sinon vous pourriez essayer gBrowser. Sélectionner(). En outre, une autre chose à appeler est gBrowser.WebBrowserFocus.Activate(); – Tom