现在准备用TWebBrowser显示本地Html文件,为了突出显示搜索关键词,先把html文件内容读出来并修改,然后直接设置WebBrowser的显示内容
现在用IHtmlDocument2的write的方法进行设置,但是有一个问题,只能第一次设置成功,再设置就不管用了,除非重进这个界面,请教各位大虾,这是为什么?

解决方案 »

  1.   

    呵呵,我来捧场。老兄方便将测试代码发我,我和您一起研究一下。我对webbrowser用的还算熟。
      

  2.   

    相关代码如下:
    procedure TF_Help.btnShowClick(Sender: TObject);
    begin
      wbHelp.Navigate( 'about:blank' );
      sHtml := 修改后的内容;
      ShowInWebBrowser( wbHelp, sHtml );
    end;procedure ShowInWebBrowser( wb:TWebBrowser; s:String );
    var
      v: Variant;
      HTMLDocument: IHTMLDocument2;
    begin
      HTMLDocument := wb.Document as IHTMLDocument2;
      if Assigned(HtmlDocument) then
      begin
        v := VarArrayCreate([0, 0], varVariant);
        v[0] := s;
        HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
        HTMLDocument.Close;
      end;
    end;