硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5019|回复: 2
收起左侧

[emWin] 求助, emwin关于 motion 控件的左滑右滑,上滑下滑

[复制链接]

6

主题

32

回帖

6

积分

新手上路

积分
6
发表于 2015-1-26 15:47:07 | 显示全部楼层 |阅读模式
首先再吐槽 emwin demo的 一个BUG
MOTION_SmartPhoneMenu.c
将 menu数目改为 1个,一个列表竟然可以从最上面拖到最下面,坑啊!!!!!
是这么写的


  hWinBase     = WM_CreateWindow       (0,  0, xSize, ySize,                                  WM_CF_SHOW, _cbDummy, 0);
  hWinViewport = WM_CreateWindowAsChild(0, 60, xSize, ySize - 60,               hWinBase,     WM_CF_SHOW, _cbDummy, 0);   // 这里的 ysize 明显值得商榷,一个的menu item,直接就出现我上面的情况
  hWinHeading  = WM_CreateWindowAsChild(0,  0, xSize, 60,                       hWinBase,     WM_CF_SHOW, _cbHeading, 0);
  hWinMenu     = WM_CreateWindowAsChild(0,  0, xSize, 60 * GUI_COUNTOF(_aMenu), hWinViewport, WM_CF_SHOW | WM_CF_MOTION_Y, _cbMenu, 0);

言归正传,我有一个需求,列表上下滑动是OK的,然后各种OK,但是我需要可以左滑可以出来一个 删除按钮,motion的原理就是将虚拟的window 部分显示出来,很自然的,我想到,将 xsize 加大,加到50 (一个按钮大小),然后
将 snapX 改为50即可,需要再  BUTTON_Create的时候将 WM_CF_MOTION_X 传进去,但是问题来了,emwin 不支持这样的操作,我能实现单个的左滑,但是上下滑动就不支持了,求教大神,如何实现我需要的要求???
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115679
QQ
发表于 2015-1-26 19:52:48 | 显示全部楼层
motion控件还没有专门的研究过,具体的使用要配合创建窗口的回调函数搞。
回复

使用道具 举报

5

主题

582

回帖

597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
597
发表于 2015-1-30 12:23:38 | 显示全部楼层
emwin有个虚拟显示,用于加速菜单切换的速度,基本方法就是建立一个比实际显示区大的缓存,切换时直接修改这个虚拟显示区域即可
例程和文档都有介绍
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-11 19:27 , Processed in 0.204298 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表