2009-09-29 8 views
5

Poszukuję rad dotyczących obsługi gestów WM 6.5 w aplikacji C# 2.0. Obecnie rzeczy takie jak przesuwanie i przewijanie przeszkadzają w kontrolach, takich jak Sterowanie kartami i widoki list.Windows Mobile 6.5 Gesty i aplikacja C# 2.0

Czy istnieje sposób, aby złapać te przy użyciu C# 2.0 i obsługiwać je? Patrzyłem na opakowania MSDN itp., Ale te są zbudowane przy użyciu .NET 3.5 i nie będę działać z moją aplikacją i ciągle dostaję błędy.

Dzięki za pomoc z góry,

Morris

Odpowiedz

2
+0

Przeczytałem to i wykorzystałem OpenNetCF do przechwycenia gestów i wyłączenia ich w aplikacji, która wydawała mi się najlepszym sposobem na zrobienie tego, czego potrzebowałem. Dzięki za pomoc! – Morrislgn

+0

nie ma za co! ... Czy mogę prosić o głosowanie? ;) – Sunrising

+0

@MorrisIgn, czy możesz pokazać, jak to zrobiłeś? Używam NativeWindow OpenNetCF i nadpisuję WndProc i próbuję przechwycić WM_GESTURE, ale jak dotąd nie mam szczęścia. Wszelkie wskazówki będą mile widziane. –

2

Dlaczego nie używać funkcji "DisableGestures" z coredll.dll?

[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); 
} 

Możesz także spróbować wyłączyć gesty tylko dla jednego okna.

Powiązane problemy