2012-05-24 65 views
6

Tôi có đối tượng TForm có chiều cao lớn hơn độ phân giải dọc theo yêu cầu của màn hình của tôi.Ảnh chụp màn hình của biểu mẫu có kích thước lớn hơn kích thước màn hình

Vì một số lý do, Windows không cho phép vùng hiển thị (khách hàng?) Của biểu mẫu vượt quá độ phân giải màn hình, vì vậy thanh cuộn dọc xuất hiện trên biểu mẫu của tôi.

Làm cách nào để có hình ảnh hoặc ảnh chụp màn hình TBitmap của toàn bộ biểu mẫu (không có thanh cuộn, tất cả thành phần biểu mẫu hiển thị) để hiển thị tất cả nội dung của biểu mẫu?

+0

Bạn đã thử phương pháp ['GetFormImage'] (http://docwiki.embarcadero.com/Libraries/en/Vcl.Forms.TCustomForm.GetFormImage) chưa? ; – RRUZ

+0

Yep, 'GetFormImage' là những gì chúng tôi hiện đang sử dụng. – ardnew

+0

Ví dụ, tạo một đối tượng 'TForm', đặt rất nhiều nội dung theo chiều dọc để làm cho thanh cuộn dọc (đã bật) của bạn tự động xuất hiện. Tổng chiều cao của nội dung phải vượt quá độ phân giải màn hình dọc của bạn. Gọi 'GetFormImage' và bạn sẽ thấy nội dung thấp hơn bị hủy. – ardnew

Trả lời

8

Lúc đầu, bạn phải đảm bảo biểu mẫu không có thanh cuộn. Cho rằng bạn có thể viết một trình xử lý sự kiện cho FormConstrainedResize và điều chỉnh MaxWidth và MaxHeight theo nhu cầu của bạn. Nếu kích thước biểu mẫu bị hạn chế trong khi thiết kế, hãy đặt Chiều rộng và Chiều cao được yêu cầu trong sự kiện FormCreate thành giá trị mong muốn.

Bây giờ bạn có thể sử dụng GetFormImage để tải ảnh chụp màn hình.

+0

Tuyệt vời, cảm ơn bạn. – ardnew

Các vấn đề liên quan