Нажата клавиша Enter на стандартной клавиатуре или на цифровой

Тема в разделе "Delphi", создана пользователем WinHack, 24 ноя 2016.

  1. WinHack
    Как различить: пользователь нажал Enter (Return) на стандартной клавиатуре или на цифровой?

    Код:
    interface
     { ... } private
     procedure WMKeyDown(
          var Message: TWMKeyDown) ; message CM_DIALOGKEY;
    
     implementation
     { ... }
     procedure TForm1.WMKeyDown(var Message: TWMKeyDown) ;
     begin
        inherited;
        case Message.CharCode of
          VK_RETURN: // нажата клавиша ENTER
            if (Message.KeyData and $1000000 <> 0) then
              // Проверяем 24 бит lParam
              ShowMessage('ENTER на цифровой клавиатуре')
            else
              ShowMessage('ENTER на стандартной клавиатуре') ;
        end;
     end;