2017-05-26 23 views
1

私は動的にGridPanelの行と列を作成しているDelphiを使用しているプロジェクトに取り組んでいます。また、各セルに動的に配置する予定のパネル(TPanel)も作成しています。プログラムでDelphi GridPanelの行と列にコンポーネントを割り当てる方法は?

私の質問は:GridPanelにある特定のセルに、新しく作成したパネルをどのように割り当てるのですか?

GridViewになるようにパネルの「親」プロパティを割り当てる必要があると推測しています。しかし、デザイン環境を使用してパネルをGridPanelに割り当てるときとは違って、TPanelの「行」または「列」プロパティを調整することができませんでした。

+1

あなたはTGridPanelレイアウトを意味しますか? FiremonkeyまたはVCL? –

答えて

0

プロパティにアクセスすることができますか?

答えは、できません。設計時またはプログラムで新しいコンポーネントをTGridPanelに追加すると、新しいコンポーネントが空いている次のセルに配置されます。デフォルトでは、左から右の順番で表示されます。

ExpandStyleプロパティ(emAddRowsまたはemAddColumns)が充填されたときTPanelGridが展開され、さらに、コントロールが追加される方法を決定します。

TGridPanelに新しいパネル(または他のコンポーネント)を追加した後、ControlCollectionプロパティでコントロールにアクセスすることで、他のユーザーが応答したときの位置を変更できます。

+0

ありがとう!これは理にかなっており、私がしようとしていることを事実上単純化します。 – Andre72127

0

あなたはどのようにGridPanelで ある特定のセルに新しく作成されたパネルを割り当てない

TGridPanelLayout.ControlCollection[index].row := 0; 

TGridPanelLayout.ControlCollection[index].Column := 0; 
1

用途:

TGridPanelLayout.ControlCollection[position].row := 0; 
+1

このコードは質問に答えるかもしれませんが、問題の解決方法および/または理由を説明する追加のコンテキストを提供すると、回答の長期的価値が向上します。 – Badacadabra

関連する問題