在 DBGrid 中作为 Tab 输入
以下代码使按Enter 的行为与Tab和Shift + Enter 的行为相同Shift + Tab:
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then // Si presionamos Intro
Begin
if HiWord(GetKeyState(VK_SHIFT)) <> 0 then // Si esta presionado Shift
begin
with (Sender as TDBGrid) do
begin
if selectedindex > 0 then
selectedindex := selectedindex - 1;
else
begin
DataSource.DataSet.Prior;
selectedindex := fieldcount - 1;
end;
end;
end
else // Si no esta presionado Shift
begin
with (Sender as TDBGrid) do
if selectedindex < (fieldcount - 1) then
selectedindex := selectedindex + 1
else
begin
DataSource.DataSet.Next;
selectedindex := 0;
end;
end;
Key := #0
end;
end;
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.24959206581116 seconds