野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10372|回复: 8

[emWin] 移植emwin之后页面刷新的问题。

[复制链接]
发表于 2017-3-22 20:49:46 | 显示全部楼层 |阅读模式
我用guibuilder做了一个界面。然后想在上面涂鸦,但是重绘界面的话只能画出最后一次点击的点,类似于鼠标的光标效果,难道是我的思路错了?
回复

使用道具 举报

 楼主| 发表于 2017-3-22 21:15:48 | 显示全部楼层
这是自己加的触摸消息和 重绘消息,,
// USER START (Optionally insert additional message handling)
                case WM_TOUCH :
                        GUI_TOUCH_GetState(&State);
                  WM_InvalidateWindow(pMsg->hWin);
                break;
               
                case WM_PAINT:
                 if(State.x>50)
      GUI_FillCircle(State.x,State.y,3);
                        break;
  // USER END
回复 支持 反对

使用道具 举报

发表于 2017-3-23 09:16:57 | 显示全部楼层
也无晴丶 发表于 2017-3-22 21:15
这是自己加的触摸消息和 重绘消息,,
// USER START (Optionally insert additional message handling)
...

没试过这样用,看看触摸还有没有其它消息的,可能TOUCH消息就是释放才当一次
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-23 17:56:24 | 显示全部楼层
flyleaf 发表于 2017-3-23 09:16
没试过这样用,看看触摸还有没有其它消息的,可能TOUCH消息就是释放才当一次

我想能不能在保存这块想办法。
我理解的重绘相当于是把界面恢复成我用builder做出来的模板再加上WM_PAINT:里做的更改。那么我是想能不能每次画点之后,更改保存到模板里面去。不知道这个想法行不行。。初学emwin还望指教。0.0
回复 支持 反对

使用道具 举报

发表于 2017-3-23 18:42:34 | 显示全部楼层
也无晴丶 发表于 2017-3-23 17:56
我想能不能在保存这块想办法。
我理解的重绘相当于是把界面恢复成我用builder做出来的模板再加上WM_PAIN ...

要WM_PAINT的话每次触摸后发送一个 窗口 invalue 的消息,触发重绘
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-23 18:59:27 | 显示全部楼层
flyleaf 发表于 2017-3-23 18:42
要WM_PAINT的话每次触摸后发送一个 窗口 invalue 的消息,触发重绘

这个我知道,上面的代码里我确实是这么写的。
但是现在我的问题是重绘之后无法保留我点击过的所有的点。
因为点击一次,重绘一次,第二次点击的时候重绘会把之前上次的点覆盖掉。然后显示第二次点击的点。如此反复,最终留下最后一次点击的那个点。
回复 支持 反对

使用道具 举报

发表于 2017-3-23 19:14:46 | 显示全部楼层
也无晴丶 发表于 2017-3-23 18:59
这个我知道,上面的代码里我确实是这么写的。
但是现在我的问题是重绘之后无法保留我点击过的所有的点。 ...

那只能不触发重绘了,我也没试过
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-23 20:00:32 | 显示全部楼层
flyleaf 发表于 2017-3-23 19:14
那只能不触发重绘了,我也没试过

我现在把屏幕分成了一部分用builder做功能按键。另一部分用来涂鸦。虽然大概能实现。但是强行凑出来的感觉。贼不爽。。。。
回复 支持 反对

使用道具 举报

发表于 2017-7-25 15:57:57 | 显示全部楼层
官方模拟器里面有一个demo就是你这个功能,我想想是哪个。Touch那一块的,总共有两个,其中一个就是,你可以参考下
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-3 08:46 , Processed in 0.034307 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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