|
안녕하세요.
화면의 콤포넌트를 bmp로 저장하려 합니다.
여기서... 콤포넌트가 폼위에 바로 위에 올려져 있다면...
아래의 코드 처럼 폼위에 바로 있는 버튼이 위치한 곳의 이미지를 bmp로 저장가능한데..
만약 버튼이 폼위의 패널위에 올려져 있었다면.. 이것을 저장하는 방법은 어떻게 되는지요?
Canvas->Handle 부분을 , 바꿔줘야 할 것 같은데... Panel1->Handle은 안되는 것 같구요..
어떻게 하면. 패널위의 콤포넌트를 이미지로 저장할 수 있는지요?
수고하세요.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap *p = new Graphics::TBitmap;
HWND B = FindWindow ("TForm1", NULL );
if ( B )
{
p->Width = Button1->Width;
p->Height = Button1->Height;
p->PixelFormat = pf24bit;
BitBlt(p->Canvas->Handle,0,0,Button1->Width,Button1->Height,Canvas->Handle ,Button1->Left,Button1->Top,cmSrcCopy);
p->SaveToFile("c:\\test.bmp");
delete p ;
}
}
|