【发布时间】:2010-10-01 18:08:06
【问题描述】:
我有一个带有 TImages 的 Delphi 表单。实际上,它是一个带有“图标”(TImage)的“假”桌面。
当用户调整表单大小(例如缩放或最大化)时,表单上的图标应按比例对齐。
现在,我正在对图像做这样的事情:
ImageX.Left:=Round(ImageX.Left * (Width / OldWidth));
ImageX.Top:=Round(ImageX.Top * (Height / OldHeight));
现在可以了,只要我开始使最大化的形式更小。
在这种情况下,最右边的图像被表单的边框部分切割(它们不在表单的客户区)。
如果我重新定位这些图像以适合客户区域,那么图标的位置会在缩小到最大尺寸时发生扭曲。
对更好的算法/修复有什么想法吗?
谢谢!
【问题讨论】:
-
我认为您缺少发布有价值的信息来帮助您实现目标。例如,图标是按定义明确的行/列组织的,还是浮动在表单中的任何位置?是否要防止图标重叠?
标签: delphi forms scaling resize