Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Как найти и выделить текст TWebBrowser?


Автор: Poseidon 18.5.2005, 23:27
Код
{....} 

private 
  procedure SearchAndHighlightText(aText: string); 
     
{....} 

uses mshtml; 

{ .... } 


procedure TForm1.SearchAndHighlightText(aText: string); 
var 
  tr: IHTMLTxtRange; //TextRange Object 
begin 
  if not WebBrowser1.Busy then 
  begin 
    tr := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange; 
    //Get a body with IHTMLDocument2 Interface and then a TextRang obj. with IHTMLBodyElement Intf. 

    while tr.findText(aText, 1, 0) do //while we have result 
    begin 
      tr.pasteHTML('<span style="background-color: Lime; font-weight: bolder;">' + 
        tr.htmlText + '</span>'); 
      //Set the highlight, now background color will be Lime 
      tr.scrollIntoView(True); 
      //When IE find a match, we ask to scroll the window... you dont need this... 
    end; 
  end; 
end; 

// Example: 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  SearchAndHighlightText('delphi'); 
end; 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)