Как найти и выделить текст TWebBrowser?

Previous  Top  Next

    
 

 

 

Code:

{....}

 

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;

 

©Drkb::03495

Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php