WebBrowser não permite copiar

Delphi

06/01/2004

Estou com o problema de não poder copiar o texto das páginas apresentadas no TWebBrowser. Alguém sabe como faço para contornar este problema?
Outro problema é que preciso setar o focus em um edit da página via delphi. Ou colar o texto da memória ou de um Edit no Edit da página Web.
Se puderem ajudar agradeço.

Rodrigo Cesar


Rodc

Rodc

Curtidas 0

Respostas

Eag

Eag

06/01/2004

Parte do problema pode ser resolvido da seguinte forma.

No evento DocumentComplete do TWebBrowser é possível salvar o documento carregado no navegador.

Segue abaixo um exemplo.

procedure TFrm_Pri.WEBDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
HTMLDocument: IHTMLDocument2;
PersistFile: IPersistFile;
begin
HTMLDocument := Web.Document as IHTMLDocument2;
PersistFile := HTMLDocument as IPersistFile;
if PersistFile <> nil then
PersistFile.Save(StringToOleStr(nomedoarquivoasersalvo.htm), True);
end;

Quanto a segunda parte do problema eu não sei como te ajudar.


GOSTEI 0
Rodc

Rodc

06/01/2004

Até aí tudo bem, o problema é que o USUÁRIO precisa fazer a cópia. Será que é uma restrição do componente não poder copiar ou é apenas falta de configurar alguma opção?


GOSTEI 0
Eag

Eag

06/01/2004

O usuário pode copiar o texto normalmente como no internet explorer mesmo pq o TwebBrowser utiliza as dlls do internet explorer para funcionar. Se vc não tiver definido nada na propriedade popup o mesmo chamará o popup padrão do internet explorer com as possibilidades de imprimir, salvar, copiar, exibir código fonte, etc.
O ideal seria vc procurar alguma documentação das Apis do internet explorer para obter algum recurso a mais do padrão.


GOSTEI 0
Rodc

Rodc

06/01/2004

Achei a solução. Por padrão o TWebBrowser não permite copiar nada. Pode dar quantos CTRL-C que quizer q vc não vai conseguir copiar.
Mas se usar a UNIT [b:464c1e0843]Activex [/b:464c1e0843]e rodar a linha abaixo...
[b:464c1e0843]OleInitialize(nil);[/b:464c1e0843]
... então o WebBrowser passa a permitir a cópia do texto.
Agradeço sua ajuda e se alguém precisar fazer um Brower no Delphi vc já sabe como liberar o CTRL-C, blz!?


GOSTEI 0
POSTAR