Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Défilement

5 réponses
Avatar
Gloops
Bonjour,

Alors donc, on avait dit, j'utilise un WebBrowser, et je voudrais lancer
un d=E9filement constant, autant que possible r=E9gulier.

Je m'=E9tais bien rendu compte que si Scroll ne s'adressait pas au
WebBrowser, il devait s'adresser =E0 une Window qui allait avec.

Alors Gilles disait donc :
webBrowser.Document.Window

Bien.

Ben c'est pas tout =E7a, Window a une m=E9thode Scroll, qui envoie =E0 un=
e
position absolue.

Alors, pour d=E9filer d'un millipoil =E0 la fois ind=E9pendamment du poin=
t de=20
d=E9part, j'ai cherch=E9 "relative Scroll", et j'ai trouv=E9 ScrollBy. Et=
il=20
me semble bien que ScrollBy est une m=E9thode d'un objet DHTML, j'ai donc=
=20
=E9t=E9 tent=E9 par
webBrowser.Document.DomDocument

mais l=E0-dedans, si il y a un ScrollBy, Intellisense n'est pas au couran=
t.

Me serais-je gourr=E9 quelque part ?


Hum, d'ailleurs, "unmanaged interface", qu'on dit dans l'aide de=20
DomDocument, si je me rappelle bien, c'est la fa=E7on officielle de dire =

"bof, si v'z'avez pas aut'chose ..."

C'est vrai qu'on peut se d=E9brouiller avec Scroll, en lui passant en=20
argument une position calcul=E9e par rapport =E0 la position actuelle. Ma=
is=20
je soup=E7onne que l'int=E9r=EAt de la plateforme .Net n'est pas de donne=
r la=20
priorit=E9 aux solutions capillotract=E9es ?

5 réponses

Avatar
Gilles TOURREAU
Le Sat, 29 Sep 2007 01:30:18 +0200, Gloops a écrit:

Bonjour,

Alors donc, on avait dit, j'utilise un WebBrowser, et je voudrais lancer
un défilement constant, autant que possible régulier.

Je m'étais bien rendu compte que si Scroll ne s'adressait pas au
WebBrowser, il devait s'adresser à une Window qui allait avec.

Alors Gilles disait donc :
webBrowser.Document.Window

Bien.

Ben c'est pas tout ça, Window a une méthode Scroll, qui envoie à une
position absolue.

Alors, pour défiler d'un millipoil à la fois indépendamment du point de
départ, j'ai cherché "relative Scroll", et j'ai trouvé ScrollBy. Et il
me semble bien que ScrollBy est une méthode d'un objet DHTML, j'ai donc
été tenté par
webBrowser.Document.DomDocument

mais là-dedans, si il y a un ScrollBy, Intellisense n'est pas au courant.

Me serais-je gourré quelque part ?



Lisez la rubrique "Notes" de DomWindow et regardez l'exemple :

http://msdn2.microsoft.com/fr-fr/library/system.windows.forms.htmlwindow.domwindow(vs.80).aspx



Hum, d'ailleurs, "unmanaged interface", qu'on dit dans l'aide de
DomDocument, si je me rappelle bien, c'est la façon officielle de dire
"bof, si v'z'avez pas aut'chose ..."

C'est vrai qu'on peut se débrouiller avec Scroll, en lui passant en
argument une position calculée par rapport à la position actuelle. Mais
je soupçonne que l'intérêt de la plateforme .Net n'est pas de donner la
priorité aux solutions capillotractées ?




Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Gloops
Gilles TOURREAU a écrit, le 29/09/2007 11:27 :
Lisez la rubrique "Notes" de DomWindow et regardez l'exemple :

http://msdn2.microsoft.com/fr-fr/library/system.windows.forms.htmlwindo w.domwindow(vs.80).aspx



Je dois m'avouer un peu perplexe tout de même : IhtmlWindow2 comporte
explicitement la méthode ScrollBy, selon l'aide

IhtmlWindow2 (pointée depuis la page ci-dessus)
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/msh tml/reference/ifaces/window2/window2.asp

pourtant avec ceci

HtmlWindow dom = webBrowser1.Document.Window;
mshtml.IHTMLWindow2 rawWindow = (mshtml.IHTMLWindow2) dom;

l'intellisense ne propose carrément rien à partir de rawWindow.

Normal, Docteur ?

(j'ai bien System.Windows.Forms dans les références)
Avatar
Gilles TOURREAU
Le Sat, 29 Sep 2007 12:02:12 +0200, Gloops a écrit:

Gilles TOURREAU a écrit, le 29/09/2007 11:27 :
Lisez la rubrique "Notes" de DomWindow et regardez l'exemple :

http://msdn2.microsoft.com/fr-fr/library/system.windows.forms.htmlwindow.domwindow(vs.80).aspx



Je dois m'avouer un peu perplexe tout de même : IhtmlWindow2 comporte
explicitement la méthode ScrollBy, selon l'aide

IhtmlWindow2 (pointée depuis la page ci-dessus)
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/mshtml/reference/ifaces/window2/window2.asp

pourtant avec ceci

HtmlWindow dom = webBrowser1.Document.Window;
mshtml.IHTMLWindow2 rawWindow = (mshtml.IHTMLWindow2) dom;

l'intellisense ne propose carrément rien à partir de rawWindow.

Normal, Docteur ?



Oui


(j'ai bien System.Windows.Forms dans les références)



Extrait de "Notes" de mon lien précédent :

"Vous devez ajouter un référencé au MSHTML.dll non managé afin d'utiliser
DomWindow. Pour plus d'informations, consultez Importation d'une
bibliothèque de types sous la forme d'un assembly."

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Gloops
Gilles TOURREAU a écrit, le 29/09/2007 12:28 :
Normal, Docteur ?



Oui



Ah, au moins je suis sur la bonne voie alors :)



(j'ai bien System.Windows.Forms dans les références)



Extrait de "Notes" de mon lien précédent :

"Vous devez ajouter un référencé au MSHTML.dll non managé afin
d'utiliser DomWindow. Pour plus d'informations, consultez Importation
d'une bibliothèque de types sous la forme d'un assembly."



J'avais bien vu cette phrase, mais je dois avouer que sa portée ...
m'était un peu passé au-dessus.

ça me fait donc de la lecture. Je vais voir si je réussis à m'y
consacrer un peu avant le week-end prochain.

On arrive donc là :
http://msdn2.microsoft.com/fr-fr/library/xwzy44e4(VS.80).aspx

Oh, ben, si il faut lire tous les renvois, ça va laisser le temps aux
autres de poser quelques questions :)

Merci de m'avoir orienté, je crois que je risquais de chercher quelque
temps ailleurs.
Avatar
Gloops
Gilles TOURREAU a écrit, le 29/09/2007 12:28 :
Extrait de "Notes" de mon lien précédent :

"Vous devez ajouter un référencé au MSHTML.dll non managé afin
d'utiliser DomWindow. Pour plus d'informations, consultez Importation
d'une bibliothèque de types sous la forme d'un assembly."




Eh bien ça risque d'être nettement plus rapide que ce que je disais d ans
mon message précédent.

J'ai vu le titre de la fenêtre "Importation d'une bibliothèque de typ es
sous la forme d'un assembly".

ça m'a rappelé les cours, comme je savais le nom de la dll à réfé rencer
je l'ai trouvée grâce à l'explorateur, et ça y est, j'ai ScrollBy dans
le navigateur.

ça vaut des sous, les cours, mais je viens d'avoir la démonstration q ue
ça peut servir.

Merci encore de m'avoir remis sur la voie.