我很难过! D5ent。 我有一个表格,上面有十几个设计时间的SpeedButtons。 我有一个带有标题,提示和所有十二个按钮的字形的数据集。 当我运行数据库时,我可以为标题分配标题,提示,选择并存储位图。
当我使用DBNavigator逐步执行时,它会正确显示每个按钮的每个位图的单个DBImage。但是在运行时并非如此。
我有这个代码可以逐步查看数据集,当我在ShowModal表单中时,所有按钮都有正确的字幕和提示,但它们都有来自第一个按钮的相同字形。
procedure LoadButtons;
procedure SetButton(var aBtn : TSpeedButton);
begin
aBtn.Hint:=tblButtons.FieldByName('Hint').AsString;
aBtn.Caption:=tblButtons.FieldByName('Caption').AsString;
aBtn.Glyph.Assign(dbimgButton.Picture.Bitmap);
end;
begin
tblButtons.First;
BtnCtr:=1;
repeat
case BtnCtr of
1 : SetButton(btn1);
2 : SetButton(btn2);
3 : SetButton(btn3);
// ... to twelve
end;
tblButtons.Next;
Inc(BtnCtr);
until tblButtons.EOF;
end;
端;
我哪里错了?我搞乱了Update,AutoDisplay,LoadPicture等......
由于
答案 0 :(得分:4)
如果您正在使用DisableControls
,则在循环遍历数据集时不会更新数据库感知控件。如果您从这样的控件中分配字形,则这就是为什么所有按钮都具有第一个记录的字形的原因。