Ver Mensaje Individual
  #9  
Antiguo 08-07-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
La solución que mencionan de los foros anteriores parece no funcionar. El problema hasta donde entiendo es que el evento OnBeforeNavigate se genera en la nueva ventana, no en la original.

Sin embargo hay una solución muy sencilla: el evento OnNewWindow2. Supongamos que FormBrowser es un formulario con un control WebBrowser. En su evento OnNewWindow2 ponemos:

Código:
procedure TForm1.BrowserNewWindow2(
  Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
  with TFormBrowser.Create(Application) do
  begin
    ppDisp := WebBrowser.Application;
    Show;
  end;
end;
Y eso es todo, cada vez que un enlace nos lleve a otra ventana se abrirá un nuevo formulario con la página cargada.

Esto funciona aun cuando se trate de un enlace normal y escojamos la opción "Abrir vínculo en una nueva ventana"

Sin embargo no parece funcionar cuando oprimimos Ctrl-U o Ctrl_N para abrir una nueva ventana.

// Saludos

Última edición por roman fecha: 08-07-2003 a las 18:35:13.
Responder Con Cita