求助emwin窗口滑动方案
大家好,最近有个需求,就是在小界面上做窗口滑动因为历史原因,可能需要用到emwin的GUI
说明:
界面很小,240x240,有多个界面
界面A显示几个文字、波形、按钮,
界面B是另外的文字、波形、按钮,
界面C是设置菜单,
界面D是其他菜单
需求:
界面A滑动到界面B,需要能看到过渡动画,其他的界面切换也是一样
问:
1、是否可以实现这样的操作?怎么弄?有没有参考的方案?
2、界面A滑到界面B,如果界面B再滑回界面A,是反方向滑动好处理,还是统一一个方向循环滑动好?
没问题,emWin有个Mothon组件,专门做滑动使用的。
这个里面例子的MainTask.c有对应的使用,帖子里面也有个视频效果展示。
https://www.armbbs.cn/forum.php?mod=viewthread&tid=17330&extra=page%3D1 eric2013 发表于 2023-11-23 09:47
没问题,emWin有个Mothon组件,专门做滑动使用的。
这个里面例子的MainTask.c有对应的使用,帖子里面也 ...
谢谢版主,我看到过,
请教下这个mothon组件,里面可以叠加FrameWIN吗?
可以的话,我把波形、按钮、文字都放在Framewin里面 hpxzw_foxmai 发表于 2023-11-23 10:23
谢谢版主,我看到过,
请教下这个mothon组件,里面可以叠加FrameWIN吗?
可以的话,我把波形、按钮、文 ...
推荐用对话框,对话框的主体窗口使用Window eric2013 发表于 2023-11-23 10:49
推荐用对话框,对话框的主体窗口使用Window
版主,我们之前的控件,都是在framewin里面弄的,涉及到皮肤、动态设置里面小framewin的大小、位置,等等,如果可以framewin的话,那就会方便很多 hpxzw_foxmai 发表于 2023-11-23 11:22
版主,我们之前的控件,都是在framewin里面弄的,涉及到皮肤、动态设置里面小framewin的大小、位置,等等 ...
也可以,对话框主体窗口使用FrameWin。 eric2013 发表于 2023-11-23 14:13
也可以,对话框主体窗口使用FrameWin。
谢谢版主,我研究下 eric2013 发表于 2023-11-23 14:13
也可以,对话框主体窗口使用FrameWin。
版主,请教一下,
假设全屏分辨率320x320
全屏界面1: 2个FRAMEWIN 上面framewin1是显示ABCD,下面framewin2是显示EE
全屏界面2: 1个FRAMEWIN 显示一个方形
请问我怎么做到可以滑动时,界面显示像图3的效果,
全屏界面1显示60% 全屏界面2显示40%(可能比例不太准,差不多的效果就行)
版主能做一个小的例程,搞个maintask文件,让我在上位机看看吗?
hpxzw_foxmai 发表于 2023-12-6 18:52
版主,请教一下,
假设全屏分辨率320x320
全屏界面1: 2个FRAMEWIN 上面framewin1是显示 ...
之前分享的那个基于motion的方案是不是不太顺手,试试简单的方案。
方案1:界面1先显示一个窗口,窗口有个WM_TOUCH消息,在这个消息里面,你可以获取按下时的坐标位置,然后你移动后,就会可以在这消息里面获取新的坐标位置,然后调用函数WM_MoveTO就可以移动窗口到新的位置。
方案2:继续用motion方案,这个有个简单的例子,此贴:
Motion demo
https://www.armbbs.cn/forum.php?mod=viewthread&tid=5702
eric2013 发表于 2023-12-7 08:37
之前分享的那个基于motion的方案是不是不太顺手,试试简单的方案。
方案1:界面1先显示一个窗口,窗口 ...
非常感谢{:34:} eric2013 发表于 2023-12-7 08:37
之前分享的那个基于motion的方案是不是不太顺手,试试简单的方案。
方案1:界面1先显示一个窗口,窗口 ...
谢谢版主
我准备创建几个子窗口,然后使用全屏触摸算法,计算按下过程中的触摸坐标,然后定时几十ms更新一次偏移值,然后发消息给主窗口
主窗口调用
WM_MoveWindow(hWin_child0, dx, 0);
可以一次移动所有的窗口,这样就可以做到一起移动
现在在电脑上没有问题,后面看看在开发板上卡不卡 hpxzw_foxmai 发表于 2023-12-7 17:33
谢谢版主
我准备创建几个子窗口,然后使用全屏触摸算法,计算按下过程中的触摸坐标,然后定时几十ms更新 ...
也行,其实用WM_TOUCH消息里面获取更方便,不用定时轮询了。 eric2013 发表于 2023-12-8 10:02
也行,其实用WM_TOUCH消息里面获取更方便,不用定时轮询了。
因为每个界面有很多个小的framewin,滑动的时候,是整体滑动,
在TOUCH消息里面处理,可能比较分散,反而不太好处理
页:
[1]