감사합니다.
매우 감사합나다.
ㅋㅋ
좋은하루 되세요...
civilian 님이 쓰신 글 :
:
http://delphi.borlandforum.com/impboard/impboard.dll?action=read&db=del_tip&no=231
:
: 이거라도 함 참고해보세요.
:
: 장성호 님이 쓰신 글 :
: : WebBroswer 이미지를 그대로 TImage에 draw하려고 합니다.
: :
: : Delphi에서 TWebBroswer 나 TEmbeddedWB 로는 잘 되던데..
: : C++Builder에서 TCppWebBrowser로는 잘 안되네요
: :
: :
: :
: : //델파이 소스
: : procedure GenerateBitmapfromBrowser2(browser: iWebBrowser2; srcHeight: integer; srcWidth: integer; Image: TImage);
: : var
: : sourceDrawRect : TRect;
: : aViewObject : IViewObject;
: : begin
: : try
: :
: : aViewObject := browser as IViewObject;
: :
: : if aViewObject=nil then
: : Exit;
: :
: : Image.Picture.Bitmap.Width:=srcWidth;
: : Image.Picture.Bitmap.Height:=srcHeight;
: : sourceDrawRect := Rect(0, 0, srcWidth, srcHeight);
: :
: : OleCheck(aViewObject.Draw(DVASPECT_CONTENT, 1, nil, nil,
: : Form1.Handle,
: : Image.Picture.Bitmap.Canvas.Handle,
: : @sourceDrawRect, nil, nil, 0));
: :
: : except
: : // error handler code
: : end; { try }
: : end;
: :
: : procedure TForm1.CopyBroswerImage();
: : begin
: :
: : GenerateBitmapfromBrowser2(EmbeddedWB1.ControlInterface,EmbeddedWB1.Height, EmbeddedWB1.Width,Image1);
: : Image1.Repaint;
: :
: : end;
: : //----------------------------------------------------------
: : //C++Builder소스
: :
: : void __fastcall GenerateBitmapfromBrowser2(IWebBrowser2 *browser, int srcHeight,int srcWidth,TImage *Image)
: : {
: :
: : IViewObject *ViewObject=(IViewObject *)browser;
: : TRect rc=Rect(0,0,srcWidth, srcHeight);
: :
: : if(ViewObject==NULL)return;
: :
: : Image->Picture->Bitmap->Width=srcWidth;
: : Image->Picture->Bitmap->Height=srcHeight;
: : OleCheck(ViewObject->Draw(DVASPECT_CONTENT, 1, NULL, NULL, Form1->Handle, Image->Picture->Bitmap->Canvas->Handle,(const _RECTL *)&rc, NULL,NULL, 0));
: : }
: :
: :
: : void __fastcall TForm1::Button3Click(TObject *Sender)
: : {
: : GenerateBitmapfromBrowser2(CppWebBrowser1->ControlInterface,CppWebBrowser1->Height, CppWebBrowser1->Width,Image1);
: : Image1->Repaint();
: : }
: : //---------------------------------------------------------------------------
: :
: :
: : 두소스의 차이를 보면...
: :
: : EmbeddedWB나 TWebBroswer의 ControlInterface 는 IWebBrowser2 인데
: : TCppWebBrowser 의 ControlInterface 는 IWebBrowser2 가 아닌 IWebBrowser2 Disp 이네요
: :
: : COM에 대해서 잘 몰라서..
: :
: : TCppWebBrowser 에서는 IWebBrowser2 를 어떻게 가져오죠?