특정컨트롤을 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;