2012-05-24 4 views
6

높이가 화면의 수직 해상도보다 큰 TForm 개체가 있습니다.크기가 화면 크기보다 큰 형식의 스크린 샷

어떤 이유로 Windows에서 양식의 보이는 (클라이언트?) 영역이 화면 해상도를 초과하도록 허용하지 않으므로 세로 스크롤바가 양식에 표시됩니다.

양식의 모든 콘텐츠를 볼 수 있도록 전체 양식 (스크롤바 없음, 모든 양식 구성 요소 표시)의 TBitmap 이미지 또는 스크린 샷을 얻는 방법은 무엇입니까?

+0

['GetFormImage'] (http://docwiki.embarcadero.com/Libraries/en/Vcl.Forms.TCustomForm.GetFormImage) 메서드를 사용해 보셨습니까? ; – RRUZ

+0

그래,'GetFormImage'는 우리가 현재 사용하고있는 것입니다. – ardnew

+0

예를 들어,'TForm' 오브젝트를 생성 해, 수직 방향의 많은 컨텐츠를 배치 해, (사용 가능한) 수직 스크롤 바가 자동적으로 표시되게합니다. 콘텐츠의 전체 높이가 수직 화면 해상도를 초과해야합니다. 'GetFormImage'를 호출하면, 더 낮은 내용이 버려진다는 것을 알 수 있습니다. – ardnew

답변

8

처음에는 양식에 스크롤 막대가 없는지 확인해야합니다. 이를 위해 FormConstrainedResize에 대한 이벤트 핸들러를 작성하고 MaxWidth 및 MaxHeight를 필요에 맞게 조정할 수 있습니다. 디자인 중에 양식 크기가 제한되면 FormCreate 이벤트의 필요한 너비 및 높이를 원하는 값으로 설정하십시오.

이제 GetFormImage를 사용하여 스크린 샷을 가져올 수 있습니다.

+0

우수합니다. 감사합니다. – ardnew