Emwin对话框里刷新显示数值到底是怎么实现的?郁闷了一个星期了都无果啊。
现在的方法如下:
回调函数中的部分程序:
case WM_PAINT:
for(t=0;t<1;t++) //重复显示背景图
{
GUI_DrawBitmap(&bm5050,0,(t+1)*50);
GUI_DrawBitmap(&bm5050,50,(t+1)*50);
}
DrawMyBiaozhen(); //绘制时速表指针
GUI_DispDecAt(tmp_progbar1,10,400,4); //显示adc数值
break;
然后在主程序中循环调用WM_InvalidateWindow(hMain);
这样刷新效果非常慢,完全不能用。请问有什么比较好的方法可以实现吗?万分感激
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
case TIMER: //你想刷新的控件
按我的理解,emWin本身是不支持跨任务发送消息(按键、鼠标等类似情况除外)的。从中断或者其他任务发送的消息要用RTOS的通信机制完成。在GUI运行的任务中捕获到其他任务的消息后转成WM_Message派发给窗口
一周热门 更多>