我正在寻找关于在C#2.0应用程序中处理WM 6.5手势的一些建议。目前像平移和滚动这样的内容正在干扰诸如Tab Control和ListView之类的控件。Windows Mobile 6.5手势和C#2.0应用程序
有没有办法使用C#2.0捕获这些并处理它们?我一直在看MSDN包装等,但这些都是使用.Net 3.5构建的,并且不会与我的应用程序一起工作,并且我不断收到错误。
感谢您的帮助提前,
莫里斯
我正在寻找关于在C#2.0应用程序中处理WM 6.5手势的一些建议。目前像平移和滚动这样的内容正在干扰诸如Tab Control和ListView之类的控件。Windows Mobile 6.5手势和C#2.0应用程序
有没有办法使用C#2.0捕获这些并处理它们?我一直在看MSDN包装等,但这些都是使用.Net 3.5构建的,并且不会与我的应用程序一起工作,并且我不断收到错误。
感谢您的帮助提前,
莫里斯
为什么不从coredll.dll中使用 “DisableGestures” 功能?
[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);
}
您还可以尝试禁用只有一个窗口的手势。
我通读这篇文章,并使用OpenNetCF捕捉手势,并在整个应用程序中禁用它们,这似乎是完成我所需要的最佳方式。 感谢您的帮助! – Morrislgn 2009-12-22 10:50:50
不客气! ...我可以问你一个投票吗? ;) – Sunrising 2009-12-23 08:07:29
@MorrisIgn,你有可能展示你是如何做到的吗?我正在使用OpenNetCF的NativeWindow并重写WndProc并试图拦截WM_GESTURE,但目前为止没有运气。任何提示将不胜感激。 – 2011-09-29 08:02:25