2017-10-05 6 views
0

基本的には8つのパネルがあり、ループを使用してすべての画像にTComponent変数と画像を使用して画像を割り当てる必要があります実行時に作成します。しかし、私はこの文字列( 'pnlDisplay' + inttostr(i))を使ってその画像を親に割り当てる方法を見つけることができません。親オブジェクト名のみを使用してオブジェクトに親を割り当てる方法

var 
    imgPanel : TImage; 
    cPanel : TComponent; 
begin 
    for i := 1 to 8 do 
    begin 
     cPanel := FindComponent('pnlDisplay' + inttostr(i)); 
     imgPanel := TImage.Create(cPanel); 

     imgPanel.Parent := cPanel; //Here is my problem 

     imgPanel.Picture.LoadFromFile('Pic' + inttostr(i) + '.jpg'); 
     imgPanel.Visible := True; 
    end; 
end 

任意のヘルプまたは、これは参考になる達成するためにも、別の方法: だから私のコードは次のようになります。

答えて

1

FindComponent()は、ParentプロパティはTWinControlである代わりに、TComponentを返します。 FindComponent()が正しいコンポーネントを返すと仮定すると、それを型キャストするだけです。

imgPanel.Parent := TWinControl(cPanel); 
+0

ありがとう!それは今働く –

関連する問題