Windows 7 マルチタッチ イベントをWPFで使う方法
Windows API Code PackではマルチタッチAPIが公開されていませんが、P/Invokeを使ってマルチタッチ イベントをWPFで使うベタな方法を、Andrwew Eichacherが彼のブログで公開しています。
- User32.dllをインポートして、SetPropメソッドを宣言します。
- ロード時にイベントハンドラー(とその中のdelegate)を追加して、WindowInteropHelper をコンストラクトして、そのオブジェクトのHandleと"MicrosoftTabletPenServiceProperty"でSetPrepを呼び出します。
- StylusDown, StylusMove, StylusUpイベントハンドラーとそれぞれのコールバックを追加します。
- すると、それぞれのコールバックの中でStylusEventArgsからStylusDevice.Idを取得することができます。これがタッチIDです。複数のタッチがあるときは、複数回コールバックが呼び出されることになります。
お試しください。
Comments
Anonymous comments are disabled
About hiroyuk
マイクロソフト㈱エバンジェリスト。北海道大学理学部物理学科卒。リアルタイム3Dグラフィックスを専門とし、グラフィックスやシェーダに関する技術文章を執筆・講演。 DirectX SDK日本語ドキュメントの開発に携わるとともに、Windows Presentation Foundation プログラミング(オーム社)、Game Programming Gemsシリーズ、リアルタイム レンダリング第2版(ボーンデジタル)、Texturing & Modeling, A Procedural Approach などを翻訳・監修、XAMLプログラミング(ソフトバンク クリエイティブ)を執筆。趣味は薪割り。