我想为我的windows应用程序(鼠标和触摸)使用交互式手势事件。虽然OnGesture(发件人: TObject;const EventInfo: TGestureEventInfo;var Handled: Boolean);事件被触发,同时用两指触摸缩放,但我总是得到EventInfo.gestureId是0。但我得到的是标准手势。注意:我正在使用德尔福XE7进行开发和Windows8.1触摸设备的测试。
procedure TForm1.GISGesture(Sender: TObject;
const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
if (EventInfo.GestureID = igipan) or(EventInfo.GestureID = igiZoom) then
begin
ShowMessage('zoom or pan');
end;
end;这里的EventInfo.GestureID是0,每当我试图用两个手指或平移缩放。
发布于 2015-06-24 11:21:33
在VCL上,igZoom和igRotate等手势默认是禁用的,因此不会为它们触发任何事件。
您可以通过组件的Touch属性启用它们,该属性应该对这些手势作出反应。

https://stackoverflow.com/questions/31017942
复制相似问题