Microsoft DirectX 8.0 (Visual Basic) |
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
この行により、frmCanvas は DirectXEvent8 クラスのメソッドを継承する。このクラスによって実装されるメソッドは DirectXEvent8.DXCallback のみであり、継承クラスはこのメソッドを実装しなければならない。入力イベントが送信されると、必ず DirectInput がこのメソッドを呼び出す。
DXCallback の実装については、「ステップ 4 : マウスからのバッファリング データの取得」で説明する。
排他アクセス レベルの維持には、責任が伴う。それについては、「ステップ 3 : マウスの排他アクセス権の管理」で説明する。