【问题标题】:Screenshot of form whose dimensions are greater than screen dimensions尺寸大于屏幕尺寸的表单截图
【发布时间】:2012-05-31 05:56:49
【问题描述】:

我有一个 TForm 对象,它的高度大于我的屏幕所需的垂直分辨率。

由于某种原因,Windows 不允许表单的可见(客户端?)区域超过屏幕分辨率,因此我的表单上会出现垂直滚动条。

如何获得整个表单的 TBitmap 图像或屏幕截图(没有滚动条,所有表单组件都可见),以便表单的所有内容都可见?

【问题讨论】:

  • 你试过GetFormImage方法吗? ;
  • 是的,GetFormImage 是我们目前使用的。
  • 例如,创建一个TForm 对象,放置大量垂直内容以使您的(启用的)垂直滚动条自动出现。内容的总高度应超过您的垂直屏幕分辨率。调用GetFormImage,你会看到下面的内容被丢弃了。

标签: windows delphi delphi-2010 screenshot tform


【解决方案1】:

首先,您必须确保表单没有滚动条。为此,您可以为 FormConstrainedResize 编写一个事件处理程序,并根据您的需要调整 MaxWidth 和 MaxHeight。如果在设计时表单大小受到限制,请在 FormCreate 事件中将所需的 Width 和 Height 设置为所需的值。

现在您可以使用 GetFormImage 来获取屏幕截图了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    相关资源
    最近更新 更多