Delphi – Zamena tastera Tab za Enter

Svi znamo da pritiskom na taster [Tab] premeštamo fokus na sledeću kontrolu na formi. Isto tako kombinacija Ctrl+Tab, omogućavaće prebacivanje fokusa na prethodnu kontrolu u Tab redosledu (tab ordering). Korisnici koji su koristili samo Windows programe znaju za ove tastere, ali zato korisnici koji su prethodno koristili DOS programe, očekuju da taster [Enter] ima istu funkciju kao [Tab]. Ako u firmi recimo imate veliki broj korisnika/operatera koji su navikli da tasterom [Enter] prelaze na sledeće polje, moraćete da im prilagodite nove Windows-Delphi programe.

Pokrenite Delphi i novi projekt, te na praznu formu postavite tri tekst polja (Edit), pa kod svakog od polja, unutar obrađivača događaja OnKeyPress, dodajte sledeći programski kod:

Procedure TForm1.Edit1KeyPress
(Sender:TObject; var Key:Char);
begin
 If Key=#13 Then
  If HiWord(GetKeyState (VK_SHIFT)) <> 0 then
    SelectNext (Sender as TWinControl, False, True)
    Else
    SelectNext (Sender as TWinControl, True, True);
    Key:= #10

Primer koji je prikazan podrazumeva da za formu nije definisano podrazumevano (default) dugme. Jer ako vaša forma poseduje dugme sa osobinom Default postavljenom na True, svakim pritiskom na [Enter] izvršiće se programski kod koji se nalazi unutar OnClick obrađivača događaja. Ovom procedurom postigli smo da se taster [Enter] ponaša kao taster [Tab], kao i da se [Shift+Enter] ponaša kao [Shift+Tab] (hod unazad na formi).

Pratite Krstaricu na www.krstarica.com