单片机
返回首页

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

2019-06-01 来源:eefocus

最近学时使用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;

   }

}

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



进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章