Me alegro de que hayas averiguado algo por tí mismo
.
Para hacer lo que tu quieres tienes que crear el código html de la página web insertada. Más exactamente dar las propiedades o estilos adecuados al objeto body de la página. Te pongo un ejemplo con tu código de referencia:
Código: Seleccionar todo
#include <GuiConstantsEx.au3>
#include <IE.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
Global $DireccionGif="http://www.emoticones.com/gifs_animados_messenger/gifs_ok.gif"
$oIE = _IECreateEmbedded ()
GUICreate("Iconos online", 300, 200 )
$GuiactiveX = Guictrlcreateobj ($oIE, 10, 10, 90, 50)
$Startbutton = GuiCtrlCreateButton("Copiar", 150, 37, 60)
_IENavigate($oIE,"about:blank")
_IEDocWriteHTML($oIE,"<html><body style='border-style:none;background-color:#ff00ff;margin:0;overflow:hidden'><IMG src='" & $DireccionGif & "'></IMG></body></html>")
GuisetState(@SW_SHOW)
while 1
$msg=GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $Startbutton
Local $oImagen=_IEImgGetCollection($oIE,0)
MsgBox(0,"Dirección de la imagen",$oImagen.src)
EndSwitch
Sleep(10)
WEnd
He insertado el código html que interesa de la página web creada. Lo más importante son los estilos que le doy al objeto body a través de la propiedad style (se puede dar estilos directamente):
style='border-style:none;background-color:#ff00ff;margin:0;overflow:hidden'
border-style:none, le estamos diciendo que no queremos bordes.
background-color:#ff00ff, le decimos que queremos ese color de fondo (colores en formato rgb).
margin:0, le decimos que no queremos márgenes con respecto al body. Prueba a poner otros valores y verás lo que pasa.
overflow:hidden, le decimos que oculte las barras de desplazamiento (scrollbar). Controla estas barras cuando el objeto se pasa de tamaño con respecto al body.
Estilos hay un montón, y se pueden hacer mil maravillas con ellos (css, hojas de estilo). Pero ese tema no se puede explicar aquí, ya que es extensísimo (libros) y no es el caso. Busca en google.
Otra opción sería hacerlo con propiedades:
<body scroll='no' leftmargin='0' topmargin='0' style='border-style:none'>
Practicamente hacen lo mismo. Si te interesa busca en google las propiedades que tiene el objeto body. Son muchas y muy variadas.
Dentro del body pongo un objeto IMG con el link de la imagen. Con esto se carga la imagen en la página insertada.
Le he añadido al botón el código para averiguar el link (dirección url) de la imagen de la página. Utilizo la función _IEImgGetCollection para averiguar todas las imagenes que hay en la página web. En este caso cojo solamente la primera (índex=0). Además, solo hay una
.
Después averiguo el url de la imagen con la propiedad del objeto src.
Si quieres sacar todas las imágenes de una página pueden utilizar esta función sin poner ningún índice. @extended te daría el número de imágenes encontradas. Con un for......next puedes recorrerlas todas. Mira en la ayuda el segundo ejemplo de la función _IEImgGetCollection.
Si quisieses filtrar por ejemplo las imágenes gif, tendrías que hacerlo con una condición en el bucle for....next.
Hay otras formas de insertar gif animados, por ejemplo con un control ocx o una librería. En vb6 utilizábamos mucho el control marchoso (yo nunca lo usé). Puede que utilizar este control te sea algo complicado.
También puedes buscar en el foro de habla inglesa alguna función o udf que puedas utilizar. Sería buscar cosas como "gif animate" o "gif animation".
Y ya de apis de win ni te hablo
.
Lo único que pasa, es que en todos estos casos alternativos, seguramente tendrías que descargarte el archivo para poder trabajar con él.
Saludos.