加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如果在滚动表单时将控件放在错误位置,为什么控件位于

发布时间:2020-12-15 09:29:24 所属栏目:大数据 来源:网络整理
导读:考虑这个表单,标签为“Observer here”和一个“Click”按钮: 在按钮上单击我将标签的左侧设置为10(Label1.Left:= 10;) 我正如第二张图片中那样正确: 然后,我将表单滚动到右边: ? 现在,点击按钮后我遇到了问题,如第4张图所示: 标签的左边不再是10.它超过
考虑这个表单,标签为“Observer here”和一个“Click”按钮:

在按钮上单击我将标签的左侧设置为10(Label1.Left:= 10;)

我正如第二张图片中那样正确:

然后,我将表单滚动到右边:

?

现在,点击按钮后我遇到了问题,如第4张图所示:

标签的左边不再是10.它超过10,但我需要它10.我怎么能这样做?

解决方法

Label1.Left:= 10;意味着10从当前边界(form1.left)离开.

所以Label1.Left:= 10;总是不会产生相同的结果,它取决于Form1.HorzScrollBar.Position;

你必须像代码一样

Label1.Left := 10 - Form1.HorzScrollBar.Position  ;

您可以通过选择form1中的组件并调整滚动条来看到设计时的这种模式,您可以注意到在对象Inspector中,当移动滚动条时,所选组件的左侧值也会发生变化

你可以这样理解它

如果你有HorzScrollBar然后如果添加组件并将其左值设置得非常高,则form1将不会增加其宽度,但由滚动条处理的虚拟宽度将增加,所有协调值将给出相对于form1的值与虚拟空间

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读