[EMWIN] emwin的刷新机制探索1
前期准备:
PC: win7X64 vs2013
emwin 相关:emwin5.42模拟器,emwin5.42英文手册
同一父窗口下两个控件的刷新
不对父窗口进行刷新的前提下,指刷新 widget1 和 widget2.
1.widget 为 Framewin 或 WIndow
如果两个 widget 为Framewin 或 WIndow 类型,则 graphic 不会刷新
2.widget 为 Text 或 Button
如果两个 widget 为 Text 或 其他类型,则 graphic 会刷新红色虚线矩形内的区域(即绿色的 graphic 部分会被刷新)
3.代码实现思路
桌面创建一个Framewin win;
在 win 上创建 widget1 widget2 : win1 win2;
在 win 上创建 一个一秒后启动的定时器, id 为 0;
在 win 的回调函数的 WM_PAINT 消息中绘制 矩形graphic, 每次绘制的颜色不一样(3种颜色);
4.实验结果
若 widget 为 Framewin 或 widget 的时候,无论 win1 win2 刷新几次, graphic 都只绘制了一次;
若 widget 为 Button 或 Text 的时候,无论 win1 win2 刷新几次, graphic 都会跟着绘制被 win1 win2 包围着的区域;
附录
代码下载:链接:http://pan.baidu.com/s/1bGJ1lc 密码:y4k8