キーリピートの判定
キーリピートされているときは処理を変えたいことがある。しかし、OnKeyDownイベントでは調べられないようだ。
キーリピート状態を知るには、Application.OnMessageイベントに次のように書く。
if (Msg.message = WM_KEYDOWN) then
KeyRepeat := msg.lParam and $40000000 <> 0;
KeyRepeatが真ならばキーリピート状態になる。キーリピート状態で処理を変えるときは、この変数を調べて処理を振り分ける。