×
单片机 > 单片机程序设计 > 详情

stemwin 使用GUI_EndDialog切换页面死机的解决

发布时间:2020-06-01 发布时间:
|

最近学时使用emwin 在切换窗口时进入HardFault_Handler,后来发现在创建的窗口内没有处理WM_PAINT消息的操作,添加后在case内执行清屏,这样在切换界面时就不会发生死机。示意代码如下:


static void _cbDialog(WM_MESSAGE * pMsg) 

{

    WM_HWIN hItem;

    int     NCode;

    int     Id;

 

    switch (pMsg->MsgId) 

    {

    case WM_PAINT:

GUI_SetBkColor(GUI_WHITE);

GUI_Clear();

    break;

    case WM_NOTIFY_PARENT:

        Id = WM_GetId(pMsg->hWinSrc);

        NCode = pMsg->Data.v;

        switch (Id) 

        { 

        case ID_BUTTON_0: // Notifications sent by 'BACK'

            switch (NCode) 

            {

            case WM_NOTIFICATION_CLICKED:

                break;

            case WM_NOTIFICATION_RELEASED:

                GUI_EndDialog(pMsg->hWin, 0);//结束当前对话框

                g_nKeyHandle = CreateMainWindow();//创建新的页面

                break;

            }

         break;

        }

    break;

   }

}

切换界面死机的情况有很多,目前我遇到的情况这样可以解决。记录下方便以后看



关键字:stemwin  GUI_EndDialog  切换页面  死机 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会