Microsoft DirectX 8.0 (Visual Basic)

ステップ 2 : 通知の設定

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

Dim EventHandle As Long

EventHandle = objDX.CreateEvent(frmCanvas)
Call objDIDev.SetEventNotification(EventHandle)
 

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

Implements DirectXEvent8
 

この行により、frmCanvasDirectXEvent8 クラスのメソッドを継承する。このクラスによって実装されるメソッドは DirectXEvent8.DXCallback のみであり、継承クラスはこのメソッドを実装しなければならない。入力イベントが送信されると、必ず DirectInput がこのメソッドを呼び出す。

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

排他アクセス レベルの維持には、責任が伴う。それについては、「ステップ 3 : マウスの排他アクセス権の管理」で説明する。