//在Form上定义一个响应按键的过程: procedure KeyDown(var msg: TWMKeyDown); message WM_KEYDOWN; //在implementation中实现这个过程: procedure TForm1.KeyDown(var msg: TWMKeyDown); begin ShowMessage('消息: ' + Char(msg.CharCode)); end; { 这个过程会拦截WM_KEYDOWN消息。如果同时我们还为onkeydown事件写了代码,那么onkeydown就不会执行了,因为WM_KEYDOWN被拦截了。如果要求我们定义的这个过程和onkeydown段代码都可以执行,自己定义的过程就要改成如下:} procedure TForm1.KeyDown(var msg: TWMKeyDown); begin ShowMessage('消息: ' + Char(msg.CharCode)); inherited; end;{先执行我们自己的代码,然后执行onkeydown中的代码。} procedure TForm1.KeyDown(var msg: TWMKeyDown); begin inherited; ShowMessage('消息: ' + Char(msg.CharCode)); end;{先执行onkeydown中的代码,后执行自己的代码}