Page 1 sur 1
[..] IE agire sur la position de la page dans une GUIC...Obj
Posté : dim. 18 sept. 2011 17:26
par Yoyo86220
Bonjour,
je souhaite que à la fin du chargement de ma page IE dans ma GUICtrlCreateObj quelle se place tout en bas
comment faire ça?
merci de votre aide
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : dim. 18 sept. 2011 19:07
par mikell
Erk

?!? en bas de quoi ?
explications claires needed please
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : dim. 18 sept. 2011 20:21
par Yoyo86220
pardon!
quand on charge une page web par défaut on voit le haut de la page (si la page sur le quel on surf est plus grande que ma fenêtre...) moi je souhaite que ma page soit en bas en gros quand ma page se load je ne veux pas redescendre à chaque fois...
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : lun. 19 sept. 2011 16:06
par mikell
Ah OK
Tu dois jouer sur les paramètres de ton GUICtrlCreateObj pour positionner ta page ouèbe
Exemple :
► Afficher le texte
Code : Tout sélectionner
#include <WindowsConstants.au3>
$oIE=ObjCreate("Shell.Explorer.2")
$gui1 = GUICreate ("", 700, 300)
GuiCtrlCreateLabel("http://www.autoitscript.fr/forum/portal.php", 20, 250, 500, 30)
GUISetState()
$gui2 = GUICreate ("", 600, 200,20, 20, $WS_POPUPWINDOW,$WS_EX_MDICHILD, $gui1)
$GUIActiveX = GUICtrlCreateObj($oIE, [color=#BF0000]-200, -500, 820, 720[/color])
GUISetState()
$oIE.Navigate( "http://www.autoitscript.fr/forum/portal.php")
While GuiGetMsg()<>-3
Sleep(10)
Wend
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : lun. 19 sept. 2011 20:27
par Yoyo86220
ah... mince il y a aucune autre solution j'imagine car puisque je fait un chat et que je me sert d'une page html pour communiqué, à chaque msg la page doit se refresh... et se placer en bas donc si je dois déplacer ma GuiCtrlCreateObj à chaque msg ça va devenir vite affreux non?
Mais si c'est la seul solution je ferais de mon mieux...
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : lun. 19 sept. 2011 20:46
par mikell
Une fois que ta fenêtre web est positionnée, elle le reste
Si tu positionnes ton GuiCtrlCreateObj de façon à ne pas montrer les 400 px du haut d'une page web (par exemple), il continuera à ne pas montrer les 400 px du haut même si tu changes de page ou si tu rafraichis
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : lun. 19 sept. 2011 20:55
par Yoyo86220
oui oui je suis dac, mais dans mon cas je souhaite qu'on puisse voir le dernier message envoyer
sachant que mon t'chat écri le dialogue l'un a la suite de d'autre je vais devoir remonter ma GUIObj pour ne voir que les 400 dernier px... à chaque refresh...
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : lun. 19 sept. 2011 22:24
par mikell
Ben si tu cales ton controle de manière à ne voir que les 400 (par exemple) derniers px en bas de la page, ça le fait pas ?
► Afficher le texte
Code : Tout sélectionner
#include <WindowsConstants.au3>
#include <IE.au3>
$url = "http://www.autoitscript.fr/forum/portal.php"
$oIE=ObjCreate("Shell.Explorer.2")
$gui1 = GUICreate ("", 750, 500)
GuiCtrlCreateLabel($url, 20, 450, 500, 30)
$btn = GuiCtrlCreateButton("Actualiser", 620, 440, 80, 30)
GUISetState()
$gui2 = GUICreate ("", 680, 390, 20, 20, $WS_POPUPWINDOW,$WS_EX_MDICHILD, $gui1)
$GUIActiveX = GUICtrlCreateObj($oIE, -220, -250, 1120, 720)
GUISetState()
$oIE.Navigate($url)
_IELoadWait($oIE)
msgbox(0,"", " Maintenant, on va se caler en bas de la page : ")
$h = $oIE.document.body.scrollHeight
GUICtrlSetPos ($GUIActiveX, -220, 390-$h, 1120, $h)
While 1
$msg = GuiGetMsg()
If $msg = -3 Then Exit
If $msg = $btn Then $oIE.Refresh()
Sleep(10)
Wend
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : mer. 21 sept. 2011 23:56
par Yoyo86220
ouais c'est bon je m'en sort en revanche j'ai un gros souci... pourquoi quand ma "GUI" n'est plus en premier plan mon script se met en pause... ça entraine énormément de bug... de quoi ça peu venir?
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : jeu. 22 sept. 2011 09:02
par mikell
Plusieurs causes possibles mais pour pouvoir te répondre faudrait qu'on voie le code
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : ven. 23 sept. 2011 20:02
par Yoyo86220
C'est bon j'ai trouvé 3 minutes après avoir posé la question ^^
voici le problème que j'avais:
AdlibRegister("_ma_fonction", 10)
j'ai changer 10 par 500 et c'est bon plus de bug!
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : ven. 23 sept. 2011 20:07
par Yoyo86220
bon tous marche parfaitement j'ai bien optimisé le script ça ma l'aire plutôt pas mal.
Si non le souci c'est que je ne peu pas monter dans ma page. Ex: si l'utilisateur souhaite voir les ancien message posté... il ne peut pas...
Comment faire, si bien sur c'est possible?
Re: [..] IE agire sur la position de la page dans une GUIC..
Posté : ven. 23 sept. 2011 21:37
par mikell
► Afficher le texte
Code : Tout sélectionner
#include <WindowsConstants.au3>
#include <IE.au3>
#include <Misc.au3>
$url = "http://www.autoitscript.fr/forum/portal.php"
$oIE=ObjCreate("Shell.Explorer.2")
$gui1 = GUICreate ("", 750, 500)
GuiCtrlCreateLabel($url, 20, 450, 500, 30)
$btn = GuiCtrlCreateButton("Actualiser", 620, 440, 80, 30)
GUISetState()
$gui2 = GUICreate ("", 680, 390, 20, 20, $WS_POPUPWINDOW,$WS_EX_MDICHILD, $gui1)
$GUIActiveX = GUICtrlCreateObj($oIE, -220, -250, 1120, 720)
GUISetState()
$oIE.Navigate($url)
_IELoadWait($oIE)
msgbox(0,"", " Maintenant, on va se caler en bas de la page : ")
$h = $oIE.document.body.scrollHeight
GUICtrlSetPos ($GUIActiveX, -220, 390-$h, 1120, $h)
msgbox(0,"", " Maintenant, appuie sur la flèche haut : ")
While 1
If _IsPressed("26") Then
GUICtrlSetPos ($GUIActiveX, -220, 0, 1120, $h-890)
EndIf
$msg = GuiGetMsg()
If $msg = -3 Then Exit
If $msg = $btn Then $oIE.Refresh()
Sleep(10)
Wend