uses mshtml,ActiveX;procedure sethtml(const WebBrowser:TWebBrowser; const Html: string); var Document1: IHtmlDocument2; v:oleVariant; begin Document1 := WebBrowser.Document as IHtmlDocument2; if (Assigned(Document1)) then begin v := VarArrayCreate([0, 0], varVariant); v[0] := Html; Document1.Writeln(PSafeArray(TVarData(v).VArray)); Document1.close; end; end; procedure TForm1.Button1Click(Sender: TObject); begin WebBrowser1.Navigate('about:blank'); sethtml(WebBrowser1,Memo1.Lines.text); //memo1 里就是你的html代码 end;
dragonki(dragonki) 你好: 我用你的方法试了一下 调试通过 不过webbrowser1中没有显示任何内容 我在我的代码的: memo1.Lines.AddStrings(tidtext(msg.MessageParts.Items[intindex]).Body);后面加了一句 showmessage(memo1.lines.text); 运行的时候弹出了三个对话框 第一个显示为:this is a multi-part message in MIME format 第二个显示为邮件的正常内容 第三个显示为邮件正常内容的html格式的代码 我怎样能只收取第二个部分?
var
Document1: IHtmlDocument2;
v:oleVariant;
begin
Document1 := WebBrowser.Document as IHtmlDocument2;
if (Assigned(Document1)) then begin
v := VarArrayCreate([0, 0], varVariant);
v[0] := Html;
Document1.Writeln(PSafeArray(TVarData(v).VArray));
Document1.close;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('about:blank');
sethtml(WebBrowser1,Memo1.Lines.text); //memo1 里就是你的html代码
end;
我用你的方法试了一下
调试通过
不过webbrowser1中没有显示任何内容
我在我的代码的: memo1.Lines.AddStrings(tidtext(msg.MessageParts.Items[intindex]).Body);后面加了一句
showmessage(memo1.lines.text);
运行的时候弹出了三个对话框
第一个显示为:this is a multi-part message in MIME format
第二个显示为邮件的正常内容
第三个显示为邮件正常内容的html格式的代码
我怎样能只收取第二个部分?
你直接 showmessage(tidtext(msg.MessageParts.Items[intindex]).Body); 试试
改下intindex看看
如果你要用WebBrowser1显示,memo1里的内容要设置为第三个,而不能是全部。
呵呵
就是修改intindex
嘿嘿
甚至没有使用webbrowsers控件wintergoes(多来米饭少来稀)的方法我曾试过
取得的效果不是我想要得
嘿嘿
不过也给分!结贴散分!非常感谢!