2010-12-01 45 views
1

Je fais une petite application panier hors ligne ici avec Delphi et je suis coincé. J'ai besoin d'insérer un cadre dans la boîte de défilement (agir comme une ligne d'article de panier, où je peux retirer un article, ajouter une quantité, etc.) sur le produit sélectionné dans la liste. Mais je ne peux pas ajouter plusieurs images là-bas.Ajouter plusieurs contrôles 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; 

Il est toujours sur le cadre là et ne peut pas le faire correctement. Si je choisis le produit que j'ai besoin d'insérer le cadre, si je choisis un autre produit j'ai besoin d'insérer un autre cadre. Si le produit que je sélectionne est déjà là, alors augmentez la quantité par un.

Toute aide appréciée!

Répondre

2

Je suppose que vous voulez que plusieurs cadres de la boîte de défilement se retrouvent l'un en dessous de l'autre. Avez-vous essayé d'ajouter

cartRow.Align := alTop; 

Cela entraînerait l'alignement automatique des lignes les unes à côté des autres verticalement.

+0

Merci, il a résolu le problème! Maintenant, il y a deux lignes à la fois pour faire défiler la boîte lorsque je sélectionne un élément. J'ai enlevé la boucle et change le code qui ajoute le contrôle à ScrollBox1.InsertControl (cartRowArr.Last); – evilone