2010-12-01 18 views
1

ここでは、Delphiで少しオフラインのショッピングカートアプリケーションをやっていますが、私は立ち往生しています。リストビューから製品を選択すると、スクロールボックスにフレームを挿入する必要があります(ショッピングカートのアイテム行として機能し、アイテムを削除したり、数量を追加するなど)。しかし、私はそこに複数のフレームを追加することはできません。複数のTFrameコントロールをTScrollBoxに追加

procedure TfrmMain.lvProductsSelectItem(Sender: TObject; Item: TListItem; 
    Selected: Boolean); 
var 
    cartRow: TFrame1; 
    i: Integer; 
    count: Integer; 
begin 

    cartRow := TFrame1.Create(nil); 
    cartRow.Edit1.Text := Item.Caption; 
    cartRowArr := TObjectList<TFrame1>.Create; 
    cartRowArr.Add(cartRow); 
    count := cartRowArr.Count; 
    for i := 0 to cartRowArr.Count - 1 do 
    begin 
    ScrollBox1.InsertControl(cartRowArr[i]); 
    end; 
end; 

これは常にフレームにあり、正しく取得できません。私がフレームを挿入する必要がある製品を選択した場合、別の製品を選択すると、フレームを挿入する必要があります。私が選択した製品がそこにある場合は、数量を1つ上げてください。

答えて

2

私はスクロールボックス内の複数のフレームがお互いの下になるように思っています。あなたはこの行は自動的に垂直方向に隣同士に自分自身を整列させる原因となる

cartRow.Align := alTop; 

を追加しようとしています。

+0

は、それが問題を解決し、ありがとうございます!今度は、アイテムを選択すると、その時点で2つの行がスクロールボックスに表示されます。ループを削除し、コントロールをScrollBox1.InsertControl(cartRowArr.Last)に追加するコードを変更しました。 – evilone

関連する問題