覆盖WM_KEYDOWN消息处理程序:
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KEYDOWN;
procedure TForm1.WMKeyDown(var Message: TWMKeyDown);
const
// Message.KeyData format:
// [0..15 repCount][16..23 scan code][24 extended bit][25..28 reserved]
// [29 context][30 previous state][31 transition state]
KD_IS_EXTENDED = 1 shl 24;
begin
if Message.CharCode <> VK_RETURN then
begin
inherited;
Exit;
end;
if (KD_IS_EXTENDED and Message.KeyData) <> 0 then
ShowMessage('Keypad Enter')
else
ShowMessage('Return');
end;