触摸屏多点如何编写

mmfeng 2012-09-12 10:52:34
做公司的一个触摸屏程序,想实现这样的功能:当两个点住一个form时(如两个手指点着),移动两个手指就能拖动这个form移动,就如iphone那样,可移动和扩大,现在想先实现移动,如何做啊?
用的是RAD2010,看2010的介绍有这样的功能,但从没做过,有哪位做过这样的程序吗?
...全文
332 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
银点 2014-03-25
  • 打赏
  • 举报
回复
楼主你的问题解决了么?
mmfeng 2012-09-15
  • 打赏
  • 举报
回复
面板上的Properties--Touch--InteractiveGestures--igTwoFingerTar
是不是两点触摸?怎么用法?
我不懂电脑 2012-09-14
  • 打赏
  • 举报
回复
bcb2010以上版本增加了手势控件
mmfeng 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
bcb2010以上版本增加了手势控件
[/Quote]
知道简单手势控件的用法,也有图一看就明白,但是多点操控不知怎么做法,如拖动、放大等。
baojiang_68 2012-09-13
  • 打赏
  • 举报
回复
是不是可以这样做,用两个透明控件,分放左右,设两个变量,当点击两个控件时,两个变量的值改变成你规定的值,当两值符合要求时,Form产生放大的动画。当然也可以通过这两个控件所获得的XY值,决定放大或缩小的尺寸。移动也可以不用两个手指,在Form上做一个移动的程序就可以了,在MouseDown中加入ReleaseCapture();
SendMessage(this-> Handle,WM_SYSCOMMAND,0XF012,0);
就可以移动。
ccrun.com 2012-09-13
  • 打赏
  • 举报
回复
Windows7+的系统才支持多点触摸。高版本的VCL中提供了Gustures组件,支持触摸操作。
缘中人 2012-09-13
  • 打赏
  • 举报
回复
有点挑战
mmfeng 2012-09-13
  • 打赏
  • 举报
回复
ccrun
(妖哥 低调 冷静 专注 敬业)
楼 得分:0回复于:2012-09-13 09:31:32Windows7+的系统才支持多点触摸。高版本的VCL中提供了Gustures组件,支持触摸操作。

===========================
现在只会用GestureManager1中的简单手势,但对如何移动、放大、缩小不知怎么做。。。







------------------------------------------
baojiang_68
(花果山水帘洞)
#3楼 得分:0回复于:2012-09-13 09:38:11是不是可以这样做,用两个透明控件,分放左右,设两个变量,当点击两个控件时,两个变量的值改变成你规定的值,当两值符合要求时,Form产生放大的动画。当然也可以通过这两个控件所获得的XY值,决定放大或缩小的尺寸。移动也可以不用两个手指,在Form上做一个移动的程序就可以了,在MouseDown中加入ReleaseCapture();
SendMessage(this-> Handle,WM_SYSCOMMAND,0XF012,0);
就可以移动。
=========================================

但是如果这两个控件放的位置有要求,操作者的两个手指可能刚好不在这个位置上就不行了,看IPhone多点是任意位置上的。



---------------------------------------
看到delphi有这样的代码:
procedure TInteractiveGestureForm.OnPan(Sender: TObject; Delta: TPoint);
var
I: Integer;
Image, Image2: TImage;
begin
//Pan
for I := 0 to FImages.Count - 1 do
begin
Image := FImages[I];
Image.Left := Image.Left - Delta.X;
end;

//Rotate images
Image := FImages[0];
if Image.Left + Image.Width < 0 then
begin
FImages.Add(Image);
FImages.Delete(0);
end
else if Image.Left > 0 then
begin
FImages.Insert(0, FImages[FImages.Count - 1]);
FImages.Delete(FImages.Count - 1);
Image := FImages[0];
Image2 := FImages[1];
Image.Left := Image2.Left - Image.Width;
end;

end;

procedure TInteractiveGestureForm.Panel1Gesture(Sender: TObject;
const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
if EventInfo.GestureID = igiPan then
begin
if not (gfBegin in EventInfo.Flags) then
OnPan(Sender, Point(FLast.X - EventInfo.Location.X,
Flast.Y - EventInfo.Location.Y));
FLast := EventInfo.Location;
end;
end;

end.

不是很熟悉Delphi, 有哪个能说明一下它么?OnPan 这个函数在C++builder中是什么?


内容概要:本文系统介绍了物理信息神经网络(PINNs)在求解布洛赫-托雷(Bloch-Torrey)方程中的应用,结合PyTorch框架提供了完整的Python代码实现案例。文章深入阐述了如何将物理先验知识嵌入神经网络训练过程,通过构建复合损失函数,强制网络输出满足控制方程、初始条件与边界条件,从而实现对布洛赫-托雷方程的无网格化、高精度求解。该方法突破了传统数值方法在高维、多尺度及复杂几何场景下的计算瓶颈,展现出优异的泛化能力与计算效率,特别适用于医学成像、扩散磁共振等领域中复杂的物理场建模与仿真任务。; 适合人群:具备深度学习与偏微分方程理论基础,从事科学计算、生物医学工程、材料科学或相关交叉学科研究的研究生、科研人员及算法工程师。; 使用场景及目标:①应用于扩散磁共振成像(dMRI)等医学影像技术中的复杂扩散过程建模与反演;②为高维偏微分方程的高效求解提供数据驱动的新范式,提升仿真精度与计算速度;③作为PINNs在AI for Science领域中的典型实践案例,推动物理引导的深度学习方法在实际科研项目中的落地与拓展。; 阅读建议:建议读者结合提供的完整代码资源(可通过公众号“荔枝科研社”或百度网盘获取),动手复现并调试模型,深入理解PINNs的架构设计、损失函数构建与物理约束嵌入机制,同时可尝试将该方法迁移至其他类似物理系统的建模与求解任务中进行创新性研究。
内容概要:本文围绕“基于多VSG独立微网的多目标二次控制MATLAB模型研究”展开,详细阐述了利用Simulink对多虚拟同步发电机(VSG)构成的独立微网系统进行建模与仿真,实现频率调节、电压支撑与有功无功功率均分等多目标协同优化的二次控制策略。研究引入先进的最优控制算法,解决微网在孤岛运行模式下的功率动态分配、频率电压恢复及系统稳定性问题,并通过MATLAB/Simulink平台构建完整仿真模型,验证所提控制策略在不同负载扰动下的有效性、鲁棒性与动态响应性能。; 适合人群:具备电力系统分析、现代控制理论基础以及MATLAB/Simulink仿真能力的电气工程、自动化等相关专业的硕士研究生、科研人员及从事微网控制系统开发的工程技术人才。; 使用场景及目标:① 深入理解多VSG在独立微网中的并联运行机理与协同控制架构;② 掌握基于Simulink的微网二次控制系统的建模方法与仿真流程;③ 实现频率、电压与功率分配的多目标优化控制仿真验证;④ 为微网控制系统的设计、算法优化及科研课题提供可靠的仿真依据和技术参考。; 阅读建议:建议读者结合文中控制策略,动手搭建Simulink模型,重点关注控制器参数整定对系统动态性能的影响,可通过对比不同工况下的仿真结果,进一步优化控制算法以提升系统鲁棒性与响应精度。

13,873

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧