我正在使用Delphi在这里做一些离线购物车应用程序而且我被卡住了。我需要在listview中的产品选择中将框架插入到滚动框(充当购物车项目行,我可以删除项目,添加数量等)。但我不能在那里添加多个帧。
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;
它始终在那里,并且不能正确。如果我选择产品我需要插入框架,如果我选择另一个产品我需要插入antoher框架。如果我选择的产品在那里是alredy,那么将数量提高一个。
任何帮助表示赞赏!
答案 0 :(得分:2)
我怀疑您希望滚动框中的多个框架最终在彼此之下。你有没有尝试添加
cartRow.Align := alTop;
这会导致行自动垂直对齐。
答案 1 :(得分:0)
根据文档,您应该设置控件的父属性,而不是使用InsertControl。因此代码应该是:
for i := 0 to cartRowArr.Count - 1 do
begin
cartRowArr[i].Parent := ScrollBox1;
end;
http://docwiki.embarcadero.com/Libraries/XE3/en/Vcl.Controls.TWinControl.InsertControl