Spraw, aby klawisz Enter działał jak karta w aplikacjach Delphi

Wiemy, że generalnie naciśnięcie klawisza Tab powoduje przeniesienie fokusa wejściowego do następnej kontrolki, a Shift-Tab do poprzedniej w kolejności tabulatorów formularza. Podczas pracy z Aplikacje Windows, niektórzy użytkownicy intuicyjnie oczekują, że klawisz Enter będzie się zachowywał jak klawisz Tab.

Poniższe przykłady zostały napisane przy założeniu, że w formularzu nie ma domyślnego przycisku. Jeśli formularz zawiera przycisk, którego właściwość Domyślna jest ustawiona na Prawda, naciśnij klawisz Enter o środowisko uruchomieniowe wykonuje dowolny kod zawarty w module obsługi zdarzeń OnClick przycisku.

~~~~~~~~~~~~~~~~~~~~~~~~~
Procedura TForm1.Edit1KeyPress (Sender: TObject; var Key: Char);
zaczynać
Jeśli klucz = 13, to zacznij
Jeśli HiWord (GetKeyState (VK_SHIFT)) <> 0 wtedy
SelectNext (Sender jako TWinControl, False, True)
jeszcze
SelectNext (Sender jako TWinControl, True, True);
Klucz: = # 0
koniec;
koniec;
~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~
procedura TForm1.DBGrid1KeyPress (Sender: TObject; var Key: Char);

instagram viewer

zaczynać
Jeśli klucz = 13, to zacznij
Jeśli HiWord (GetKeyState (VK_SHIFT)) <> 0, to zacznij
z (Sender as TDBGrid)
jeśli wybrano indeks> 0, to
selectedindex: = selectedindex - 1
inaczej zacznij
Źródło danych. DataSet. Wcześniejszy;
selectedindex: = fieldcount - 1;
koniec;
koniec jeszcze zacząć
z (Sender as TDBGrid)
jeśli wybrano indeks selectedindex: = selectedindex + 1
inaczej zacznij
Źródło danych. DataSet. Kolejny;
selectedindex: = 0;
koniec;
koniec;
Klucz: = # 0
koniec;
koniec;
~~~~~~~~~~~~~~~~~~~~~~~~~

instagram story viewer