Platform SDK: DirectX

ステップ 2 : 通知の設定

[C++]

ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectInput C/C++ チュートリアル」を参照すること。

[Visual Basic]

ScrawlB サンプル アプリケーションは、Sub Main でマウス入力をポーリングするのではなく、マウス イベントが発生したときに必ずマウス入力を通知するよう、DirectInput に依存する。アプリケーションは初期化処理中にイベント ハンドルを取得し、そのハンドルを DirectInputDevice.SetEventNotification に渡す。

Dim EventHandle As Long
EventHandle = objDX.CreateEvent(frmCanvas)
Call objDIDev.SetEventNotification(EventHandle)
 

これにより、DirectInput は DirectXEvent クラスを実装するすべてのオブジェクトを通知する。ScrawlB の場合、実装するオブジェクトは frmCanvas フォームであり、その宣言セクションには次の行が含まれる。

Implements DirectXEvent
 

この行により、frmCanvasDirectXEvent クラスのメソッドを継承する。この行が実行されると、そのクラスの可視メソッドは DirectXEvent.DXCallback のみであり、継承したクラスはこのメソッドを実装しなければならない。入力イベントが発生すると必ず DirectInput はこのメソッドを呼び出すようになる。

DXCallback の実装方法については「ステップ 4 : マウスからのバッファリング データの取得」で説明する。

次項 : ステップ 3 : マウスの排他アクセス権の管理