在 delphi XE7 中找不到 vcl 组件的交互式手势事件,如 igiZoom、igiPan 或 igiRotate
Not able to find the interactive gesture events like igiZoom, igiPan or igiRotate for vcl component in delphi XE7
我想为我的 windows 应用程序(鼠标和触摸)使用交互式手势事件。
虽然 OnGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean);
事件被触发,同时用两根手指触摸缩放,我总是得到 EventInfo.gestureId 是 0。但我得到的是标准手势。
注意:我使用 Delphi XE7 进行开发,windows 8.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。
在 VCL 中,像 igZoom 和 igRotate 这样的手势在默认情况下是禁用的,因此不会为它们触发任何事件。
您可以通过组件的触摸 属性 启用它们,该组件会对这些手势做出反应。
我想为我的 windows 应用程序(鼠标和触摸)使用交互式手势事件。 虽然 OnGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); 事件被触发,同时用两根手指触摸缩放,我总是得到 EventInfo.gestureId 是 0。但我得到的是标准手势。 注意:我使用 Delphi XE7 进行开发,windows 8.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。
在 VCL 中,像 igZoom 和 igRotate 这样的手势在默认情况下是禁用的,因此不会为它们触发任何事件。
您可以通过组件的触摸 属性 启用它们,该组件会对这些手势做出反应。