Platform SDK: DirectX |
ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectInput C/C++ チュートリアル」を参照すること。
ScrawlB サンプル アプリケーションは、Sub Main でマウス入力をポーリングするのではなく、マウス イベントが発生したときに必ずマウス入力を通知するよう、DirectInput に依存する。アプリケーションは初期化処理中にイベント ハンドルを取得し、そのハンドルを DirectInputDevice.SetEventNotification に渡す。
Dim EventHandle As Long EventHandle = objDX.CreateEvent(frmCanvas) Call objDIDev.SetEventNotification(EventHandle)
これにより、DirectInput は DirectXEvent クラスを実装するすべてのオブジェクトを通知する。ScrawlB の場合、実装するオブジェクトは frmCanvas フォームであり、その宣言セクションには次の行が含まれる。
Implements DirectXEvent
この行により、frmCanvas は DirectXEvent クラスのメソッドを継承する。この行が実行されると、そのクラスの可視メソッドは DirectXEvent.DXCallback のみであり、継承したクラスはこのメソッドを実装しなければならない。入力イベントが発生すると必ず DirectInput はこのメソッドを呼び出すようになる。
DXCallback の実装方法については「ステップ 4 : マウスからのバッファリング データの取得」で説明する。