지금 딱 필요한 자료였는데, 너무 유용하게 잘 쓰겠습니다.
C++ Builder 고수분들 존경합니다. ^^
장성호 님이 쓰신 글 :
: BitBlt에서 Canvas->Handle 을 잘못 주었습니다.
:
:
:
: //Form의 전체 영역 캡쳐
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
: Graphics::TBitmap *p = new Graphics::TBitmap;
: p->Width = Form1->Width;
: p->Height = Form1->Height;
: p->PixelFormat = pf24bit;
:
: BitBlt(p->Canvas->Handle,0,0,Form1->Width,Form1->Height, GetDC(0),Form1->Left,Form1->Top,cmSrcCopy);
: p->SaveToFile("c:\\test_form.bmp");
: delete p ;
: }
:
:
: //Form의 client영역만 캡쳐
: void __fastcall TForm1::Button3Click(TObject *Sender)
: {
: Graphics::TBitmap *p=GetFormImage();
: p->SaveToFile("c:\\test_form2.bmp");
: delete p ;
: }
:
:
:
:
: 그럼...
:
:
: linuxman 님이 쓰신 글 :
: : 현재의 form을 통째로 이미지로 저장하려는데...
: : 저장은 되기는 되는데... 원치 않는 from 밖의 바탕화면까지
: : 저장되는데.. 왜 이런 현상이 일어나는지요?
: : void __fastcall TForm1::Button8Click(TObject *Sender)
: : {
: : Graphics::TBitmap *p = new Graphics::TBitmap;
: : HWND B = FindWindow ("TForm1", NULL );
: : if ( B )
: : {
: : p->Width = Form1->Width;
: : p->Height = Form1->Height;
: : p->PixelFormat = pf24bit;
: : BitBlt(p->Canvas->Handle,0,0,Form1->Width,Form1->Height,
: : Canvas->Handle ,Form1->Left,Form1->Top,cmSrcCopy);
: :
: :
: : }
: : p->SaveToFile("c:\\test.bmp");
: : delete p ;
: : }