Fonte: www.activedelphi.com.br
Esta dica vem para complementar a publicada recentemente: "Transformando a tecla Enter em Tab". O código já é conhecido, e transformará o Enter no Tab mesmo o foco estando em um Grid e, caso em algum momento alguma coluna no grid estiver oculta, será ignorada e o foco irá para a próxima coluna visível.
Este código deve ser colocado no evento onKeyPress do form, lembrando de deixar a propriedade KeyPreview como True.
if Key = #13 then // se foi enter
begin
if not (ActiveControl is TDBGrid) then
begin
Key := #0; // suprime som
Perform(WM_NEXTDLGCTL, 0, 0);
end
else if (ActiveControl is TDBGrid) then
with TDBGrid(ActiveControl) do
begin
repeat
if selectedindex < (fieldcount - 1) then
selectedindex := selectedindex + 1
else
selectedindex := 0;
until Columns[selectedindex].visible
end;
end;
Este código deve ser colocado no evento onKeyPress do form, lembrando de deixar a propriedade KeyPreview como True.
if Key = #13 then // se foi enter
begin
if not (ActiveControl is TDBGrid) then
begin
Key := #0; // suprime som
Perform(WM_NEXTDLGCTL, 0, 0);
end
else if (ActiveControl is TDBGrid) then
with TDBGrid(ActiveControl) do
begin
repeat
if selectedindex < (fieldcount - 1) then
selectedindex := selectedindex + 1
else
selectedindex := 0;
until Columns[selectedindex].visible
end;
end;
Nenhum comentário:
Postar um comentário