Imprimir TWebBrowser

Delphi

07/02/2004

Caros amigos


Eu estou fazendo um navegador de internet , o problema é que tenho de desenvolver além do botão voltar avancar parar atualiza , é obrigatório a colocação de um botão imprimir . Sei que não tem código para fazer imprimir o conteúdo deste componente . Mas se alguém pelo amor de Deus souber ficaria agradecido se dividissem comigo como fazer isto .



Muito obrigado .


Tiagojmilam

Tiagojmilam

Curtidas 0

Respostas

Cebikyn

Cebikyn

07/02/2004

Imprimir sem caixa de opções:

procedure TForm1.Button2Click(Sender: TObject);
var
  vaIn, vaOut: OleVariant;
begin
  WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT, 
    OLECMDEXECOPT_DONTPROMPTUSER,
    vaIn, vaOut);
end;

Imprimir com a caixa de opções:

procedure TForm1.Button3Click(Sender: TObject);
var
  vaIn, vaOut: OleVariant;
begin
  WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER,
    vaIn, vaOut);
end;

Pré visualização de impressão:

procedure TForm1.Button4Click(Sender: TObject);
var
  vaIn, vaOut: OleVariant;
begin
  WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINTPREVIEW,
    OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
end;

Configurar página:

procedure TForm1.Button5Click(Sender: TObject);
var
  vaIn, vaOut: OleVariant;
begin
  WebBrowser1.ControlInterface.ExecWB(OLECMDID_PAGESETUP, OLECMDEXECOPT_PROMPTUSER,
    vaIn, vaOut);
end;



GOSTEI 0
Cebikyn

Cebikyn

07/02/2004

Se por acaso o código para imprimir a cima não funcionar, existe este tb:

var
  CmdTarget : IOleCommandTarget;
  vaIn, vaOut: OleVariant;
begin
  if WebBrowser1.Document <> nil then
    try
      WebBrowser1.Document.QueryInterface(IOleCommandTarget, CmdTarget);
      if CmdTarget <> nil then
        try
          CmdTarget.Exec( PGuid(nil), OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
        finally
          CmdTarget._Release;
        end;
    except
      // 
    end;
end;



GOSTEI 0
POSTAR