2

私は困惑しています!D5ent。デザイン時の SpeedButtons が 12 個あるフォームがあります。12 個すべてのボタンのキャプション、ヒント、およびグリフを含むデータセットがあります。データベースを実行すると、キャプション、ヒントを割り当て、グリフのビットマップを選択して保存できます。

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などをいじりました...

ありがとう

4

1 に答える 1

4

使用している場合DisableControls、データベース対応コントロールは、データセットのループ中に更新されません。そのようなコントロールからグリフを割り当てている場合、それがすべてのボタンに最初のレコードのグリフがある理由です。

于 2012-04-16T00:38:45.553 に答える