2016-11-01 11 views
-3

のコントロールの順序は、私がパネルを持っており、リアルタイムで私はこのパネルに1つまたは複数のボタンを追加します。私は彼らの順序を変更することで、ボタンパネルを移動することができデルファイ - パネル

enter image description here

。それらを動かした後、私は誰がどのポジションにいるのかを知る必要があります。

私がしようとしている:

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

しかしpanel.Controlsを彼らが移動された場合は、[I] .nameのコンポーネントの予想される順序を示していません。それは私の問題です。

答えて

2

シーケンスを検索するには、プロパティ「left」を使用します。 Hereは、希望のシーケンスでボタンを作成するためのコードで、左にあるプロパティは位置を決定します

+0

ありがとうございますが、問題はpanel.Controls [i] .nameが移動された。 – giaco

+0

@giaco単純にコントロール内を移動することはできません。インデックスでは順序が異なります。新しいリストを作成し、プロパティを左に並べ替える必要があります。私の答えで提供されたリンクのコードを理解しようとしてください –

+0

あなたの答えは私にインスピレーションを与えました:私はボタンの位置を識別するために左のプロパティを使用しました。私は配列を投げて注文した。ありがとうございました! – giaco