2009-09-29 15 views
5

Estoy buscando algunos consejos sobre cómo manejar gestos de WM 6.5 en una aplicación C# 2.0. Actualmente, cosas como pan y scroll están interfiriendo con controles como el control de pestañas y las listas.Gestos de Windows Mobile 6.5 y aplicación C# 2.0

¿Hay alguna manera de detectar estos utilizando C# 2.0 y manejarlos? He estado revisando las envolturas de MSDN, etc., pero estas están compiladas usando .Net 3.5 y no funcionarán con mi aplicación y sigo recibiendo errores.

Gracias por su ayuda de antemano,

Morris

Respuesta

2
+0

Lo leí a través de esto y usé OpenNetCF para captar los gestos y deshabilitarlos a lo largo de la aplicación que me pareció la mejor manera de hacer lo que necesitaba. Gracias por la ayuda tho! – Morrislgn

+0

¡De nada! ... ¿puedo pedirle una votación? ;) – Sunrising

+0

@MorrisIgn, ¿es posible que muestre cómo lo hizo? Estoy usando NativeWindow de OpenNetCF y sobreescribo WndProc e intento interceptar WM_GESTURE, pero hasta ahora no tuve suerte. Cualquier sugerencia sería apreciada. –

2

¿Por qué no utilizar la función de "DisableGestures" de 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); 
} 

También puede intentar deshabilitar los gestos para una sola ventana.

Cuestiones relacionadas