谢谢上面的各位热心朋友,不知能否用具体程序相告,在此万分感谢。
我找到了下面的两种方法,都试了一下,但是都没成功,请各位朋友指点:
如何在StringGrid控件中让Enter键作用象Tab键
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
{ 在FORM的OnKeyPress事件中插入,注意将Form的KeyPreview属性设为True }
begin
if Key = #13 then
if not (ActiveControl is TStringGrid) then begin { 如果不是TStringGrid }
Key := #0; { 清除按键 }
Perform(WM_NEXTDLGCTL, 0, 0); { 否则移到下一Control上 }
end
else if (ActiveControl is TStringGrid) then
with TStringGrid(ActiveControl) do
if selectedindex < (fieldcount -1) then
selectedindex := selectedindex +1
else
selectedindex := 0;
end;
另一种更简便的方法:
在StringGrid的KeyPress事件中写入
if Key=Chr(VK_RETURN) then
SendMessage(StringGrid.Handle,WM_CHAR,VK_TAB,0);
*在D2,D3中用时去掉Chr()函数。