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 <> nil then
try
webbrowser1.Document.QueryInterface(IViewObject, ViewObject);
if ViewObject <> 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出来的图片是空白的
为什么呢?请大家指教!我急死了呀!
示例程序如下
procedure TForm1.Button1Click(Sender: TObject);
var
ViewObject: IViewObject;
sourceDrawRect: TRect;
begin
if Webbrowser1.Document <> nil then
try
webbrowser1.Document.QueryInterface(IViewObject, ViewObject);
if ViewObject <> 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出来的图片是空白的
为什么呢?请大家指教!我急死了呀!