Delphi中如何动态生成指定的控件?

我现在在编一个成绩管理系统,其中设计了一个修改数据的模块,其中在这个窗体中,设置了一个Grid控件用来显示选定的数据表中的数据。那么当选定了要修改的表后,Grid中的字段... 我现在在编一个成绩管理系统,其中设计了一个修改数据的模块,其中在这个窗体中,设置了一个Grid控件用来显示选定的数据表中的数据。那么当选定了要修改的表后,Grid中的字段数量和字段名就会发生相应的改变,要求它们改变时相应的下边的label控件的数量和它们的caption也相应的改变为Grid中相应的表中的字段数量和字段名。

这个该如何实现,请帮帮忙。用代码如何实现?
主要是界面问题,就是说让动态的在窗体中生成label控件,这个控件的数量和Caption名是Grid中的表的字段数量和字段名。(因为我可以随时改变Lable的LableName,相应的就要让界面发生变化)如何编?
展开
 我来答
fkqgyyiqpl
2007-05-24 · TA获得超过131个赞
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:0
展开全部
var
i:Integer;
Lab:array of TLabel;
begin
if length(Lab)> 0 then //判断是否已经创建,如果有就删除
begin
for i:=0 to Length(Lab)-1 do
begin
FreeAndNil(Lab[i]);
end;
end;

SetLength(Lab,ADOQuery1.FieldCount);
for i :=0 to ADOQuery1.FieldCount-1 do
begin
Lab[i]:=TLabel.Create(Self);
Lab[i].AutoSize:=True;
Lab[i].Parent:=Panel1;
Lab[i].Top:=Trunc((i div 8)*70); //每行8个,每个间隔70
Lab[i].Left:=Trunc((i mod 8)*70);
Lab[i].Caption:=ADOQuery1.Fields.Fields[i].FieldName;
Lab[i].Color:=clRed;
end;
我已经加了注释。
爽快且可靠灬饼子l
2007-05-24 · TA获得超过923个赞
知道小有建树答主
回答量:1098
采纳率:0%
帮助的人:656万
展开全部
修改表结构?还是修改表中的数据?

不知道DELPHI中有没有动态的数据窗口,如果没有。告诉你个苯方法,不过保证好用!

设置多个Grid控件对应多个表。

开始只显示一个GRID ,当选中某一个表时做个判断!让和该表对应的GIRD显示,其他的全部隐藏。

DELPHI中控件都有HIDEN属性吧:)或者是VISIABLE属性。就修改这个就可以咯!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式