delphi最大化 怎么让控件相对位置不变

2024-12-28 10:46:30
推荐回答(4个)
回答1:

对于 delphi 里大多数可显示控件来说,都有 Anchors 属性。此属性用于设置控件的位置在窗体大小等发生改变时所基的“锚”点。

通常来说,缺省的设置是 akLeft 和 akTop,即当控件所在窗体(容器类)大小位置发生改变时,控件的左、上边(距离)保持不变:

如果控件的位置发生了偏移,建议检查控件是否在同一容器内、以及 AutoSize 等可能会改变位置的数据变化情况。

如果“字”与“图片”偏移不大,可以考虑将图片尺寸加大一些,或者编写窗体大小改变时的响应代码(如 OnRize 事件)。

回答2:

因为不知道你的FORM怎么布局,只提供思路,希望对你有帮助。
假设一等奖写在Panel1上,图片是image1,那么在窗体Form1的OnResize事件中处理image1的位置就行了。
procedure TForm1.FormResize(Sender: TObject);
begin
Image1.Left := Panel1.Left + (Panel1.Width - Image1.Width) div 2;
end;

回答3:

这个只靠设置是不可靠的,必须通过代码实现 、
代码大致: 1.获取当前屏幕分辨率 2.设置好比例参数 3.对界面上控件*比例参数

回答4:

procedure TfrmMain.sTabSheet1Resize(Sender: TObject);
begin
iPanel1.Left := round((Width - 8 - iPanel1.Width) / 2); //常量8用于处理边界问题
end;