2009-09-29 14 views
5

C#2.0アプリケーションでWM 6.5ジェスチャーを処理する際のアドバイスを探しています。現在、パンやスクロールのようなものは、タブコントロールやリストビューのようなコントロールを妨害しています。Windows Mobile 6.5ジェスチャーとC#2.0アプリケーション

C#2.0を使用してこれらをキャッチして処理する方法はありますか?私はMSDNのラッパーなどを見てきましたが、これらは.Net 3.5を使用して構築され、私のアプリケーションでは動作しません。事前にあなたの助けのための

おかげで、

モリス

答えて

2

Using Gestures in Windows Mobile 6.5

がCOREDLL.DLLから "DisableGestures" 機能を使用していないのはなぜこの

+0

これを読んで、OpenNetCFを使ってジェスチャーをキャッチし、必要な処理を行う最善の方法のようにアプリケーション全体で無効にしました。 ヘルプありがとうございました! – Morrislgn

+0

ようこそ。 ...私はあなたに投票してもいいですか? ;) – Sunrising

+0

@ MorrisIgn、あなたがそれをした方法を示すことは可能でしょうか? OpenNetCFのNativeWindowを使用してWndProcをオーバーライドし、WM_GESTUREをインターセプトしようとしていますが、これまでのところ運がありません。どんなヒントもありがとう。 –

2

を試してみてください?

[DllImport("coredll.dll")] 
private static extern bool DisableGestures(IntPtr p_ipHwnd, UInt64 p_uiTGFflags, uint p_uiScope); 

private const UInt64 TGF_GID_BEGIN  = 0x0000000000000002; 
private const UInt64 TGF_GID_END   = 0x0000000000000008; 
private const UInt64 TGF_GID_PAN   = 0x0000000000000100; 
private const UInt64 TGF_GID_ROTATE  = 0x0000000000000200; 
private const UInt64 TGF_GID_SCROLL  = 0x0000000000001000; 
private const UInt64 TGF_GID_HOLD   = 0x0000000000002000; 
private const UInt64 TGF_GID_SELECT  = 0x0000000000004000; 
private const UInt64 TGF_GID_DOUBLESELECT = 0x0000000000008000; 
private const UInt64 TGF_GID_LAST   = 0x0000000000008000; 
private const UInt64 TGF_GID_MAX   = 0x8000000000000000; 
private const UInt64 TGF_GID_ALL   = 0xFFFFFFFFFFFFFFFF; 

private const uint TGF_SCOPE_WINDOW = 0x0000; 
private const uint TGF_SCOPE_PROCESS = 0x0001; 

public frmMain() 
{ 
    InitializeComponent(); 

    DisableGestures(null, TGF_GID_ALL, TGF_SCOPE_PROCESS); 
} 

また、1つのウィンドウのジェスチャーを無効にすることもできます。

関連する問題