Delphi XE3
我在标签页上有4个图表,2个横向,2个向下。当我调整表单大小时,我希望图表按比例调整大小以保持其相对位置。我无法弄清楚如何做到这一点。我尝试过使用Anchor设置但没有成功。当我将锚点设置为左,上,右和底部时,它们在调整大小时会相互重叠。
答案 0 :(得分:4)
主持人在这里没有帮助。您正在寻找更类似于Align
属性的内容。但是没有内置选项可以执行此布局。所以,我认为你最好写一个定制的OnResize
处理程序。
我建议你将图表放在一个容器中,比如一个面板。假设您希望图表以2×2网格填充面板,那么您在面板的OnResize
事件处理程序中编写以下内容:
var
W, H: Integer;
....
W := Panel.ClientWidth;
H := Panel.ClientHeight;
Chart1.SetBounds(0, 0, W div 2, H div 2);
Chart2.SetBounds(W div 2, 0, W - W div 2, H div 2);
Chart3.SetBounds(0, H div 2, W div 2, H - H div 2);
Chart4.SetBounds(W div 2, H div 2, W - W div 2, H - H div 2);
您可以根据需要调整布局,但使用OnResize
的基础知识是相同的。