▼ takiさん
タイマーとかあまり使わないので、暴走した経験はありませんが
イカはどうでしょう?
procedure TForm1.StrGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
//列が0から1へ移動しようとしており、同一行であるかの判定
if (StrGrid1.Col = 0) and (ACol = 1) and
(StrGrid1.Row = AROw) then begin
//商品コードから商品名を取得し入力
StrGrid1.Cells[1, ARow] := DBmodoki(StrGrid1.Cells[0, ARow]);
//ここではセル移動を行わない
CanSelect := False;
//数量列に移動
StrGrid1.Col := 2;
end;
end;
セルの移動前に、移動先のセルの値を書き換えるので、
> キャレット(カーソル)があるセルに対してコードで文字を書き込むとループします。
には、あてはまらないと思います。
Delphi 5 のコードですけど、参考になれば幸いです。
|