不知道你用的什么第三方控件,下面是我在DBGrid中用Enter键控制光标移动的代码,希望对你有启发在DBGrid的OnKeyPress事件中begin if key=#13 then if DBGrid1.SelectedIndex < 5 Then //DBGrid显示了6列回车右移后到了最后一列时,光标移到下一条记录的第1列 DBGrid1.SelectedIndex := DBGrid1.SelectedIndex + 1 else begin DBGrid1.SelectedIndex := 0; // 光标到下一条记录第1列位置// with AdoQuery1 do begin Next; if EOF then Last; end; end;
class procedure Tpubfun.EntertoTab(Sender:Tobject;var key: char;vKey:char=#13); begin if key=vKey then begin key:=#0; (sender as TWinControl).Perform(CM_DialogKey,VK_TAB,0); end; end;
if key=#13 then
if DBGrid1.SelectedIndex < 5 Then //DBGrid显示了6列回车右移后到了最后一列时,光标移到下一条记录的第1列 DBGrid1.SelectedIndex := DBGrid1.SelectedIndex + 1
else
begin
DBGrid1.SelectedIndex := 0; // 光标到下一条记录第1列位置//
with AdoQuery1 do
begin
Next;
if EOF then Last;
end;
end;
begin
if key=vKey then
begin
key:=#0;
(sender as TWinControl).Perform(CM_DialogKey,VK_TAB,0);
end;
end;