|

楼主 |
发表于 2021-11-4 13:43:59
|
显示全部楼层
两个WIN之间切换
static fVoidVoid * _apfTest[] = {
GUIDEMO_HardwareInfo,
#if 0//GUI_SUPPORT_TOUCH
GUIDEMO_Touch,
#endif
GUIDEMO_Speed,
#if GUI_SUPPORT_MEMDEV
GUIDEMO_Graph,
#endif
GUIDEMO_Bitmap,
GUIDEMO_Cursor,
GUIDEMO_ShowInternationalFonts,
GUIDEMO_ShowColorBar,
GUIDEMO_ShowColorList,
GUIDEMO_DemoLUT,
GUIDEMO_DemoPolygon,
GUIDEMO_Circle,
GUIDEMO_ShowMemoryDevice,
GUIDEMO_Automotive,
GUIDEMO_Navigation,
#if GUI_WINSUPPORT
GUIDEMO_DemoProgBar,
GUIDEMO_DemoFrameWin,
GUIDEMO_Dialog,
GUIDEMO_WM,
#endif
0
};
这是ugGUI的多页面管理,是用函数指针数据来切换,不同的函数。在每个函数中在用emwin_builder生成页面代码。
void GUIDEMO_HardwareInfo(void) {
GUI_SetBkColor(0x994a3a);
GUI_Clear();
CreateWindow_info();
GUI_X_SignalEvent();
while(1)
{
#ifdef GUI_BUFFERS
GUI_MULTIBUF_Begin();
#endif
GUI_Exec();
#ifdef GUI_BUFFERS
GUI_MULTIBUF_End();
#endif
GUI_X_WaitEventTimed(10);
}
void GUIDEMO_Speed(void) {
GUI_SetBkColor(0x994a3a);
GUI_Clear();
CreateWindow_speed();
GUI_X_SignalEvent();
while(1)
{
#ifdef GUI_BUFFERS
GUI_MULTIBUF_Begin();
#endif
GUI_Exec();
#ifdef GUI_BUFFERS
GUI_MULTIBUF_End();
#endif
GUI_X_WaitEventTimed(10);
}
问题:1,AppWizard 生成的代码这么弄呢?
2,这两个函数之间切换约有1S的延时,才能切换过去,不只有遇到这个问题。 |
|