你所需要的是
·来自IntelProg公司的MessageCE控件。该控件演示版本的所有功能都可以使用,只是在你每次使用它的时候会有一条唠哩唠叨的信息。
·下载812-CF-DEV.zip。
找到你了
MessageCE控件会要求atlce300.dll在你的设备上注册。在有些设备以及仿真器上,所需要的atlce300.dll不在ROM里,因此你可能需要控件管理器(Control Manager)来安装这个文件,或者手动地注册它。Atlce300.dll位于你的微软Windows® CE Tools的目录下(C:Windows CE Toolswce300MS Pocket PCatllib)。
点击长按确认
在新的装有Pocket PC 2002的设备上,你会在进行点击长按(tap-and-hold)操作的过程中实现确认操作。这是向用户显示你的应用程序知道正在做什么事情的一个好方法。但是,当你使用eMbedded Visual Basic的时候,它没有内置对点击长按确认的支持。所以你必须自己添加对其的支持。
首先,你需要捕捉发送到每个控件的windows消息(最重要的是WM_LBUTTONDOWN消息)。你可以通过使用像MessageCE这样的第三方控件来实现这一目的。关于使用这个控件的详细信息,请参看我的文章《使用MessageCE控件捕捉Windows消息(Capture Windows Messages Using the MessageCE Control)》。然后,你需要使用Windows CE的API——SHRecognizeGesture。这个API会处理确认过程的显示(在点击长按操作期间以顺时针方向显示的一圈小红点),并会返回一个结果代码,用来表示用户按笔的时间是否足够长。
在下面的示例里,我使用了最常见的点击长按操作——显示弹出式菜单。关于创建弹出式菜单的详细信息,请参看我的文章《用eMbedded Visual Basic创建点击长按弹出式菜单》。
点击长按确认示例
为了向你演示它是如何工作的,我使用eMbedded Visual Basic创建了一个简单的表单,它看起来就像下面这样:
你可以看到,我在第一个TextBox控件里选择了一段文本,然后我将手写笔在这段文本上按了一段时间。确认动画开始了,当它完成的时候,一个弹出式菜单就出现了:
这个弹出式菜单包括了编辑菜单的选项(剪切、复制、粘贴,以及其他等等),而且所有可用选项的功能都是完全可以使用的。你可以在第一个TextBox控件里将一些文本剪切或者复制到第二个控件里。关于创建编辑菜单的更多细节,请参见我的文章《用eMbedded Visual Basic创建编辑菜单》。
当我在对ListView控件进行点击长按操作的时候,确认过程是相同的,但是我得到了另一个弹出式菜单:
这个弹出式菜单有所相同,因为ListView控件通常具有操控数据行的选项。