【问题标题】:Delphi - Order of controls in a panel [duplicate]Delphi - 面板中的控件顺序[重复]
【发布时间】:2016-11-01 19:27:56
【问题描述】:

我有一个面板,我会实时向该面板添加一个或多个按钮:

我可以通过更改按钮的顺序来移动按钮面板。移动它们后,我需要知道谁在什么位置。

我正在尝试:

for i := Pred(panel.ControlCount) downto 0 do
begin
  vButtonName := panel.Controls[i].name;
end;

但是 panel.Controls[i].name 如果组件被移动,则不会显示组件的预期顺序。这是我的问题。

【问题讨论】:

    标签: delphi


    【解决方案1】:

    使用属性“left”来查找序列。 Here 是一些用于按所需顺序创建按钮的代码,而 left 属性决定了位置

    【讨论】:

    • 谢谢,但问题是 panel.Controls[i].name 如果组件被移动,则不会显示组件的预期顺序。
    • @giaco 您不能简单地在控件中移动,它们不在您的索引中。您必须创建一个新列表并按其属性“左”对项目进行排序。请尝试理解我在答案中提供的链接中的代码
    • 您的回答启发了我,所以我做到了:我使用左侧属性来识别按钮位置。我扔了一个数组,然后订购。谢谢!
    • 如果有效请标记为答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 2011-04-28
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多