导航

不过总算是自己解决的。总算有点安慰。
delphi 的 webbrowser控件直接显示字符串有如下方法:
{-------------------------------------------------------------------------------
说明:直接在WebBrowser中显示字符串
-------------------------------------------------------------------------------}
procedure ShowInWebBrowser(WebB:TWebBrowser; Str:String);
var
  v: Variant;
  HTMLDocument: IHTMLDocument2;
begin
  HTMLDocument:= WebB.Document as IHTMLDocument2;
  if (Assigned(HtmlDocument)) then     
  begin
    v:= VarArrayCreate([0, 0], varVariant);
    v[0]:= Str; //that is to be shown
    HTMLDocument.Write(PSafeArray(TVarData(v).VArray));
    HTMLDocument.Close;
  end;
end;

我把它放到按钮事件下,跟踪,发现(Assigned(HtmlDocument))始终为假。。问了郭鹏,也从百度贴吧上发帖,还加了不少群,都没解决。之前我一直Google关键字“webbrowser 直接显示字符串”,不知道哪根筋让我灵光一现,Google了“ShowInWebBrowser”,发现了http://topic.csdn.net/t/20020820/12/955179.html这个帖子,原来没有激活Twebbrowser控件。使用webbrowser1.Navigate('about:blank')激活webbrowser控件!
唉。。思维定式害死人啊。。Google要灵活些
这个问题解决了。但是我发现webbrowser 显示文本的时候有滚动条,而且字号很难控制,所以还是觉得用以下的方法:
在webbrowser上面叠加一个edit控件。当是文本的时候用edit显示,当是图表的时候用webbrowser显示.
完毕。。。。