如何使用iviewobject的draw方法把当前ie页面转成一个图片?我在自己程序获取twebbrowser没问题,可是外部ie就是不行,请高手指教! ( 积

  • 主题发起人 主题发起人 ynduanlian
  • 开始时间 开始时间
Y

ynduanlian

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使用iviewobject的draw方法把当前ie页面转成一个图片?我在自己程序获取twebbrowser没问题,可是外部ie就是不行,请高手指教! ( 积分: 24 )<br />我想把当前ie页面转成一个图片,可以使用iviewobject接口的draw方法
示例程序如下
procedure TForm1.Button1Click(Sender: TObject);
var
ViewObject: IViewObject;
sourceDrawRect: TRect;
begin
if Webbrowser1.Document &lt;&gt; nil then
try
webbrowser1.Document.QueryInterface(IViewObject, ViewObject);
if ViewObject &lt;&gt; nil then
try
sourceDrawRect := Rect(0, 0, Image1.Width, Image1.Height);
ViewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Self.Handle,
image1.Canvas.Handle, @sourceDrawRect, nil, nil, 0);
finally
end;
except
end;
end;

因为webbrowser1是自己程序里的,所以上面程序工作正常.
可是我想获得一个外部IE页面的图片.
我先获得外部IE的句柄,然后转成iwebbrowser2接口,接着使用上面的方法(把webbrowser1换替换一下)
可是draw出来的图片是空白的

为什么呢?请大家指教!我急死了呀!
 
一句话搞定!
showmessage( formatdateTime('yyyy-mm-dd ', DateTimePicker1.Date)+FormatDatetime('hh:mm:ss',DateTimePicker2.Time));
 
encodedatetime函數解決吧
 
多人接受答案了。
 
后退
顶部