Когда пользователь нажимает Enter, курсор должен перейти к следующему управлению. Клавиша по умолчанию не должна выполняться. Этот код работает, когда нет Default кнопок и когда свойство KeyPreview формы установлено в True. Enter переводит курсор к следующему управлению, а Shift + Enter — к предыдущему.
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then begin
Key := #0; {schaltet den lдstigen Beep ab}
if GetKeyState(VK_Shift) and $8000 <> 0 then
PostMessage(Form1.Handle, WM_NEXTDLGCTL, 1, 0)
else
PostMessage(Form1.Handle, WM_NEXTDLGCTL, 0, 0);
end;
end;
Комментарии