【发布时间】:2014-09-20 08:04:24
【问题描述】:
我正在尝试在 FMX 表单中嵌入 VCL 表单,其中 FMX 表单包含设置为 alClient 的 TScalingLayout,以便在表单调整大小时缩放整个内容。
我首先发现将 VCL 表单嵌入 FMX 表单的唯一方法是这样的:
VCLForm.ParentWindow := WindowHandleToPlatform(FMXForm.Handle).Wnd;
VCLForm.Show;
不幸的是,这让我无法将 VCLForm 直接作为 TScalingLayout 的父级,因此当我调整 FMX 表单的大小时,嵌入的 VCL 表单自然不会缩放。
我认为如果我只能将 VCL 表单直接放在一个表单上,我可以使用另一个 FMX 表单作为容器并将这个容器表单嵌入到我的 ScalingLayout 中,但是因为我只能将 FMX 表单“嵌入”到另一个表单中通过移动它的所有孩子,我的 VCL 表单不会被移动。
有没有办法嵌入我的 VCL 表单,使其内容的缩放方式与缩放 ScalingLayout 上的所有 FMX 控件的方式相同?
【问题讨论】:
-
你能通过 OnResize 事件手动调整 vcl 表单的大小吗?
-
是的,我已经尝试过了,它工作正常,问题是 ScalingLayout 缩小了所有 FMX 内容(而不是例如当窗口变小时显示滚动条)。除了调整大小之外,我还必须对 VCL 表单上的内容这样做。
标签: delphi firemonkey vcl delphi-xe5