• ベストアンサー

Delphi7でのキーボードの制御について

はじめまして。 Delphi7 + Interbase7でC/Sシステムを開発しているアクアと申します。 テキストボックスに入力した値(数値)をキーボードの↑↓(もしくはテンキーの+-)ボタンによって 入力した値を↑(プラス1)、↓(マイナス1)したいのですが、↑↓キーの判断が分かりません。 KeyPressイベント中で、もし↑キーが押されたら値をプラス1、↓がおされたらマイナス1をする為には、 どー言うコードを書いたらよろしいでしょうか? もしくは、キーボードのキーをプログラム中で判断する為のコード等がありましたら、教えてください。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • prome
  • ベストアンサー率32% (64/196)
回答No.2

UpDownコンポーネントを使うと、ほとんどプログラムを書かずに実現できます。 Win32タブにあるUpDownコンポーネントをフォーム上に配置し、 オブジェクトインスペクタからUpDownコンポーネントのAssociateプロパティを 対象となるEditコンポーネントの名前に変えます。 するとUpDownコンポーネントはEditコンポーネントの右側に場所を移します。 UpDownコンポーネントはデフォルトで、Max=100、Min=0、Increment=1に なっていますが、必要なら変更も可能。 Editコンポーネントのフォーカスがある時に、上下の矢印キーで Editコンポーネントの中身を増減できます。 テンキーの+-は効かないようですが。

その他の回答 (1)

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.1

こんにちは、honiyonです。   TFormやTEditに KeyPressとKeyDownというイベントがあります。どちらもキー押下された時に発生するイベントで、Keyという引数が渡されます。   このKeyに押されたキーのコードが入力されます。   まずはKeyPressかKeyDownを使ったサンプルプログラムを作ってみましょう。そしてキーが押された時のKey変数の値を画面に表示してみてください。   ↑↓のキーコードが分かるはずなので、後は・・・簡単ですね。   参考になれば幸いです(..

aquapark4
質問者

お礼

ありがとうございます。 まったく検討がつかなくて困っていたところでしたので大変助かりました。 早速実装してみます。

関連するQ&A

専門家に質問してみよう