Bonjour tous!
Je suis prsentement en pleine cration d’un navigateur web avec Xojo. Dans ce navigateur il y a deux onglets. J’aimerais que lorsque je slectionne le deuxime onglet, l’adresse de la page web en cours dans cette onglet s’affiche dans le textfield au lieu de conserver celle de l’onglet 1. J’aimerais aussi que le contraire sois aussi possible, c’est–dire slectionner l’onglet 1 et afficher l’adresse en cours dans l’onglet 1…
Merci l’avance
Francis Dolbec
Je prsume que vous avez utilis un TabPanel avec un HTMLViewer sur chaque page ?
Vous pouvez utiliser une proprit tableau de la fentre, par exemple URL(2) as string
, que vous initialisez avec l’URL courant de chaque HTMLViewer dans son vnement CancelLoad de la manire suivante :
URL(Tabpanel(me.parent).Value) = URL
C’est le principe.
Bonjour Michel,
D’abord, merci pour ta rponse. Oui j’utilise effectivement un TabPanel avec un HtmlViewer sur chaque page. Je suppose qu’aprs le code que tu as crit, on utilise quelque chose comme ceci pour afficher l’url dans le TextField: TextField1.Text=URL(2)
?
J’ai dj ce code dans l’vnement “TitleChanged” du HtmlViewer1:
HTMLViewer1.ExecuteJavaScript("document.title='zurl '+document.URL;")
if instr(newTitle,"zurl")>0 then
dim myURL() as string = split(newTitle, "zurl")
TextField1.Text=myURL(1)
Window.SetFocus
end if
TabPanel1.Caption(0) = newTitle
Crois-tu que je peux reprendre “myURL” pour afficher l’url et est-ce que je met TextField1.Text=URL(2)
dans l’vnement “Change” du TabPanel?
Merci de ta rponse l’avance et bonne journe.
Francis Dolbec
Exactment. TextField1.Text=URL(Tabpanel.Value)
synchronise automatiquement avec le panneau en cours.
Cela ne fait pas de mal de mettre à jour TextField.Text dans CancelLoad aussi. Il peut arriver que le titre ne change pas alors que l’URL a changé.
Merci beaucoup toi Michel. J’essaie le tout et je t’en reparle si a ne fonctionne pas.
Finalement, j’ai dcid d’envoyer l’Url affiche dans la Textbox lorsque la page est charge dans une variable global.
Au dpart, j’avais ceci:
HTMLViewer1.ExecuteJavaScript("document.title='zurl '+document.URL;")
if instr(newTitle,"zurl")>0 then
dim myURL() as string = split(newTitle, "zurl")
TextField1.Text=myURL(1)
Window.SetFocus
end if
TabPanel1.Caption(0) = newTitle
Cela affichait l’Url dans le Textbox.
J’ai donc crer une variable dans un module et mon code est devenu:
HTMLViewer1.ExecuteJavaScript("document.title='zurl '+document.URL;")
if instr(newTitle,"zurl")>0 then
dim myURL() as string = split(newTitle, "zurl")
TextField1.Text=myURL(1)
[b]Module1.urlhtmlviewer1=TextField1.Text[/b]
Window.SetFocus
end if
TabPanel1.Caption(0) = newTitle
Il ma suffit par la suite de mettre ce code lors que je clique sur le Tab:
If TabPanel1.Value=0 Then
TextField1.Text=urlhtmlviewer1
End if
If TabPanel1.Value=1 Then
TextField1.Text=urlhtmlviewer2
End if
Et le tout a fonctionn!
Merci Michel Bujardet pour son ide mme si je n’avais pas russi.