Q&A

  • 특정컨트롤 캡쳐하는데 이상한점이~!!
특정컨트롤을 2초마다 캡쳐해서 계속 다른이름의 파일로 계속 저장하는 예제를 간단히 만들어보왔습니다.



특정컨트롤(Panel1) 이 있는 폼이 최상위에 있을때는 정상적으로 동작을 하는데..



폼에 있는 특정컨트롤(Panel1) 을 다른폼이 가릴경우 Panel1이 캡쳐되지 않고.. Panel1 을 덮은 다른 폼의 그 위치가 캡쳐되어서 저장이 됩니다.



이방법을 해결할수 있는 방법이 없을가요? Panel1이 있는 폼을 최상위에만 있게하는 방법말고...

답변 주시면 감사하겠습니다.



procedure TForm1.Timer2Timer(Sender: TObject);

var

Cap : TBitmap;

DC : hDC;

begin

Cap := TBitmap.Create;

Cap.Width := Panel1.Width;

Cap.Height := Panel1.Height;

DC := GetDC(HWNDC);

BitBlt(Cap.Canvas.Handle,0,0,Cap.Width,Cap.Height,DC,0,0,SRCCOPY);

Cap.SaveToFile(INTTOSTR(I)+'.JPG');

Cap.Free;

ReleaseDC(Panel1.Handle,DC);

I:=I+1;

end;





0  COMMENTS