首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi -模拟(多)触摸输入

Delphi -模拟(多)触摸输入
EN

Stack Overflow用户
提问于 2015-05-24 08:45:46
回答 1查看 1.1K关注 0票数 0

有没有一种实际的方法来模拟delphi应用程序中的触摸输入,如果有,是否也可以模拟多点触摸?

问题示例:某些应用程序在某些操作中只接受触摸输入。

所需的解决方案示例:使用键盘键模拟触摸输入。能够使用键"A“来模拟触摸坐标(x,y),在(x+n,y+m)上使用键"B”,并且能够一个接一个地或者同时按下两个键,这可能是至关重要的/非常需要的。(请忽略此处3个密钥的物理限制)。

EN

回答 1

Stack Overflow用户

发布于 2015-05-24 22:16:36

我不知道多点触摸,但你可以模拟鼠标点击(单点触摸)。不能在像TWebBrowser,TMapView,或者TListView这样的东西上工作。从理论上讲,你可以修改火猴从硬件获取多点触摸数据的源代码,然后发送你自己的数据,但这超出了本答案的范围。

代码语言:javascript
复制
function TForm1.FindControlAtPoint(aParent: TControl; aPos: TPointF): TControl;
var
  I: Integer;
  Control, ChildControl: TControl;
  S: String;
begin
  Result := nil;

  // Check all the child controls and find the one at the coordinates
  for I := aParent.Controls.Count – 1 downto 0 do
  begin
    Control := aParent.Controls[I];
    S := Control.ClassName;
    if Control.PointInObject(aPos.X, aPos.Y) then
    begin
      ChildControl := FindControlAtPoint(Control, aPos);
      if Assigned(ChildControl) and ChildControl.HitTest then
        Exit(ChildControl)
      else if Control.HitTest then
        Exit(Control);
    end;
  end;
end;

有一个演示项目可以在here上使用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30419010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档