硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2423|回复: 2
收起左侧

[emWin] 创建界面进入MemManage_Handler

[复制链接]

10

主题

22

回帖

52

积分

初级会员

积分
52
发表于 2018-9-1 18:36:48 | 显示全部楼层 |阅读模式
运行如下程序时,程序进入MemManage_Handler,进入MemManage_Handler时的call stack见图片附件。有高手知道这是为什么吗?以前没遇到类似问题...查了一天不知道为什么。

#include "DIALOG.h"

#define ID_WINDOWS_0       (GUI_ID_USER + 0x00)
#define ID_BUTTON       (GUI_ID_USER + 0x01)
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[] = {
{ WINDOW_CreateIndirect,   "Windows",      ID_WINDOWS_0,   0,   0, 1024, 600, 0, 0x0, 0 },
{ BUTTON_CreateIndirect,   "",     ID_BUTTON,   200, 200, 80, 50, 0, 0x0, 0 },
};


static void _cbDialogMainUI(WM_MESSAGE * pMsg)
{
WM_HWIN hItem;
int     NCode;
int     Id;
char    buf[50] = {0};
static int cnt = 0;

switch (pMsg->MsgId)
{

  case WM_INIT_DIALOG:
   hItem = WM_GetDialogItem(pMsg->hWin, ID_BUTTON);
   BUTTON_SetTextAlign(hItem, GUI_TA_LEFT | GUI_TA_VCENTER);
   BUTTON_SetTextColor(hItem,BUTTON_BI_PRESSED,GUI_BLACK);
   BUTTON_SetTextColor(hItem,BUTTON_BI_UNPRESSED,GUI_BLACK);
   BUTTON_SetFont(hItem, GUI_FONT_32B_ASCII);
   BUTTON_SetText(hItem, "Click me");
   break;
  case WM_NOTIFY_PARENT:
   Id    = WM_GetId(pMsg->hWinSrc);
   NCode = pMsg->Data.v;
   switch(Id){
    case ID_BUTTON:
     if(NCode == WM_NOTIFICATION_RELEASED){
      sprintf(buf, "Click me %d",++cnt);
      BUTTON_SetText(WM_GetDialogItem(pMsg->hWin, ID_BUTTON), buf);
     }
     break;
   }
   break;
  
}
}

void mainInterface(void)
{
//设置窗口背景色为黑
WINDOW_SetDefaultBkColor(GUI_BLACK);
GUI_CreateDialogBox(_aDialogCreate, GUI_COUNTOF(_aDialogCreate), _cbDialogMainUI, WM_HBKWIN, 0, 0);
while(1){
  GUI_Delay(50);
}
}
20180901183551.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115765
QQ
发表于 2018-9-1 19:13:16 | 显示全部楼层
回调函数里面的

  default:
    WM_DefaultProc(pMsg);
    break;

不可以省略。
回复

使用道具 举报

10

主题

22

回帖

52

积分

初级会员

积分
52
 楼主| 发表于 2018-9-1 21:37:33 | 显示全部楼层
eric2013 发表于 2018-9-1 19:13
回调函数里面的

  default:

是这样,粗心大意漏掉了。加上就好了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-17 06:45 , Processed in 0.254309 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表