EmWin在对话框里怎么显示实时刷新数值?

2019-12-10 18:30发布

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);

这样刷新效果非常慢,完全不能用。请问有什么比较好的方法可以实现吗?万分感激
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
SealedGhost
2019-12-11 10:08
lz 是在adc采集函数中发送消息,主要是把 pMsg 的各项元素设置对,目标窗口句柄设置为你的显示窗口,消息类型即pMsg->MsgId  设置为WM_PAINT,把adc的值放在pMsg->Data里面,这样 你的窗口就能收到本条消息并case到 WM_PAINT事件,在你窗口的PAINT的处理分支中将pMsg->Data中的值取出,至于那个指针demo 我没看 所以后面怎么处理无法回答

一周热门 更多>