我正在尝试向drawgrid添加多个控件。我可以添加控件,但在添加它们并滚动之后,控件会在不同的单元格中绘制。
这是我用来将控件添加到drawgrid的代码:
void __fastcall TForm1 :: Button1Click(TObject * Sender) {
pnlHierBox = new TPanel(this); //在班级定义
pnlHierBox->Left = 0;
pnlHierBox->Top = 0;
pnlHierBox->Width = 180;
pnlHierBox->Height = 120;
img = new TImage(pnlHierBox);
img->Picture = Image1->Picture;
img->Left = 0;
img->Top = 3;
img->AutoSize = true;
img->Parent = pnlHierBox;
lbl = new TLabel(pnlHierBox);
lbl->Caption = "Employee 1";
lbl->Left = 24;
lbl->Top= 15;
lbl->Parent = pnlHierBox;
icon = new TImage(pnlHierBox);
icon->Picture = Image2->Picture;
icon->Left = 100
icon->Top = 63;
icon->AutoSize = true;
icon->Parent = pnlHierBox;
rect = DrawGrid1->CellRect(2,0);
pnlHierBox->Top = rect.Top;
pnlHierBox->Left = rect.Left;
DrawGrid1->InsertControl(pnlHierBox);
//将其他TPanel控件添加到drawgrid中 //
}
答案 0 :(得分:0)
请勿直接致电InsertControl()
。请改用Parent
属性:
// DrawGrid1->InsertControl(pnlHierBox);
pnlHierBox->Parent = DrawGrid1;