Få Enter-tangenten att fungera som fliken i Delphi-applikationer

Vi vet att generellt, genom att trycka på Tab-tangenten flyttas inmatningsfokus till nästa kontroll och Shift-Tab till föregående i tabellordningens form. När du arbetar med Windows-applikationer, vissa användare förväntar sig intuitivt att Enter-tangenten beter sig som en Tab-nyckel.

Exempel nedan skrivs med antagandet att det inte finns någon standardknapp på formuläret. När ditt formulär innehåller en knapp vars standardegenskap är inställd på True trycker du på Enter på körning kör alla kod som finns i knappens OnClick-händelseshanterare.

~~~~~~~~~~~~~~~~~~~~~~~~~
procedur TForm1.Edit1KeyPress (avsändare: TObject; var Key: Char);
Börja
Om nyckel = # 13 Börja sedan
Om HiWord (GetKeyState (VK_SHIFT)) <> 0 då
Välj nästa (avsändare som TWinControl, False, True)
annan
Välj nästa (avsändare som TWinControl, True, True);
Nyckel: = # 0
slutet;
slutet;
~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~
procedur TForm1.DBGrid1KeyPress (avsändare: TObject; var Key: Char);
Börja
Om nyckel = # 13 Börja sedan
Om HiWord (GetKeyState (VK_SHIFT)) <> 0 börjar

instagram viewer

med (avsändare som TDBGrid) gör
om valdindex> 0 då
valdindex: = valdindex - 1
annars börjar
Datakälla. DataSet. Tidigare;
valdindex: = fältantal - 1;
slutet;
slut annat börjar
med (avsändare som TDBGrid) gör
om valdindex valdindex: = valdindex + 1
annars börjar
Datakälla. DataSet. Nästa;
vald index: = 0;
slutet;
slutet;
Nyckel: = # 0
slutet;
slutet;
~~~~~~~~~~~~~~~~~~~~~~~~~

instagram story viewer