Adresse web dans textfield selon l'onglet actif

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.