Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Mover TWebBrowser (https://www.clubdelphi.com/foros/showthread.php?t=53455)

Archer 21-02-2008 03:40:03

Mover TWebBrowser
 
Hola!, alguien sabe como puedo mover una pagina web que esta mostrandose en un componente TWebBrowser por codigo?
Es decir la pagina se muestra, pero como no cabe toda lo que pretendo es mostrar la parte inferior derecha de la misma.
He intentado con la funcion perform y luego con SetScrollInfo de la api que recomiendan en la ayuda, pero nada, no hay manera de mover las barras de scroll por codigo...
Si alguien sabe alguna manera de poder ver la esquina inferior derecha (o cualquier parte), en lugar de la superior izquierda, le estaria muy agradecido...

Perdonad por como lo he escrito pero son casi las 4 a.m. y estoy que me caigo de sueño...

dec 21-02-2008 09:32:33

Hola,

Encontré cierta página en Internet que trata de dar una solución. Haciendo pruebas veo que no funciona todo lo bien que podría esperarse, pero, por ahí pueden ir los tiros, tal vez puedas avanzar más en el asunto, o bien algún compañero o tú mismo puedas encontrar otra solución...

Archer 21-02-2008 13:05:12

Muchas gracias por las molestias, si consigo algo que funcione lo posteare aqui enseguida.

Archer 21-02-2008 15:35:41

Los fallos que comentan a mi no se me han dado porque el scroll que necesito hacer es minimo... supongo que si la pagina es muy grande abra que aumentar los valores de desplazamiento: ParentW.Screen.Height

En fin, he añadido wbPosBottomRight que es lo que yo queria hacer y como a mi me hace la funcion de momento lo dejo asi...

Código:

type
  TWBPosition = (wbPosBottom, wbPosTop, wbPosRight, wbPosBottomRight);
 
 
 function WB_ScrollTo(WB: TWebBrowser; Position: TWBPosition): Boolean;
 var
  ParentW: OLEVariant;
 begin
  Result := WB.Document <> nil;
  if Result then
  begin
    ParentW := WB.OleObject.Document.ParentWindow;
    case Position of
      wbPosBottom: ParentW.ScrollTo(0, ParentW.Screen.Height);
      wbPosTop: ParentW.ScrollTo(0, 0);
      wbPosRight: ParentW.ScrollTo(ParentW.Screen.Width, 0);
      wbPosBottomRight: ParentW.ScrollTo(ParentW.Screen.Width, ParentW.Screen.Height);
    end;
  end;
 end;

procedure TForm1.WBDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  WB_ScrollTo(WB, wbPosBottomRight);
end;

Muchas gracias de nuevo por el enlace!! ;)


La franja horaria es GMT +2. Ahora son las 21:31:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi