嵌入式学习小组
直播中

李红梅

7年用户 138经验值
私信 关注

下面这个错误怎么解决

我在一本书上看到一个例程,代码如下:
#include "GUIDEMO.h"
#include
#include "stdio.h"
#include "EDIT.h"
#include
#include "DIALOG.h"
#include "WM.h"
#include "BUTTON.h"
#include "FRAMEWIN.h"
#include "GUI.h"
#include "TEXT.h"
static int Count;
static const GUI_WIDGET_CREATE_INFO _aDialogCreate[]={
        {FRAMEWIN_CreateIndirect,"ARMfly",0,0,0,800,480,FRAMEWIN_CF_MOVEABLE,0},
        {BUTTON_CreateIndirect,"BUTTON0",GUI_ID_BUTTON0,82,122,162,37,0,0},
        {BUTTON_CreateIndirect,"BUTTON1",GUI_ID_BUTTON1,82,62,162,37,0,0},
        {TEXT_CreateIndirect,"0000",GUI_ID_TEXT0,10,10,50,48,0,0}
};
void PaintDialog(WM_MESSAGE *pMsg)
{
        WM_HWIN hWin=pMsg->hWin;
}
void InitDialog(WM_MESSAGE *pMsg)
{
        WM_HWIN hWin=pMsg->hWin;
        FRAMEWIN_SetFont(hWin,&GUI_Font24B_ASCII);
        FRAMEWIN_SetTextAlign(hWin,GUI_TA_VCENTER|GUI_TA_CENTER);
        FRAMEWIN_AddCloseButton(hWin,FRAMEWIN_BUTTON_RIGHT,0);
        FRAMEWIN_AddMaxButton(hWin,FRAMEWIN_BUTTON_RIGHT,1);
        FRAMEWIN_AddMinButton(hWin,FRAMEWIN_BUTTON_RIGHT,2);
        FRAMEWIN_SetTitleHeight(hWin,30);
        TEXT_SetFont(WM_GetDialogItem(hWin,GUI_ID_TEXT0),&GUI_FontD36x48);
}
static void _cbCallback(WM_MESSAGE *pMsg)
{
        int NCode,Id;
        char buf[10];
        WM_HWIN hWin=pMsg->hWin;
        switch(pMsg->MsgId)
        {
        case WM_TIMER:
                Count++;
                sprintf(buf,"%04d",Count);
                TEXT_SetText(WM_GetDialogItem(hWin,GUI_ID_TEXT0),(const char *)buf);
                WM_RestartTimer(pMsg->Data.v,100);
                break;
        case WM_PAINT:
                PaintDialog(pMsg);
        case WM_INIT_DIALOG:
                InitDialog(pMsg);
                break;
        case WM_KEY:
                switch(((WM_KEY_INFO *)(pMsg->Data.p))->Key)
                {
                case GUI_KEY_ESCAPE:
                        GUI_EndDialog(hWin,1);
                        break;
                case GUI_KEY_ENTER:
                        GUI_EndDialog(hWin,0);
                        break;
                }
                break;
                case WM_NOTIFY_PARENT:
                        Id=WM_GetId(pMsg->hWinSrc);
                        NCode=pMsg->Data.v;
                        switch(Id)
                        {
                        case GUI_ID_OK:
                                if(NCode==WM_NOTIFICATION_RELEASED)
                                        GUI_EndDialog(hWin,0);
                                break;
                        case GUI_ID_CANCEL:
                                if(NCode==WM_NOTIFICATION_RELEASED)
                                        GUI_EndDialog(hWin,0);
                                break;
                        case GUI_ID_BUTTON0:
                                switch(NCode)
                                {
                                case WM_NOTIFICATION_CLICKED:
                                        break;
                                case WM_NOTIFICATION_RELEASED:
                                        break;
                                case WM_NOTIFICATION_MOVED_OUT:
                                        break;
                                }
                                break;
                        case GUI_ID_BUTTON1:
                                switch(NCode)
                                {
                                case WM_NOTIFICATION_CLICKED:
                                        break;
                                case WM_NOTIFICATION_RELEASED:
                                        break;
                                case WM_NOTIFICATION_MOVED_OUT:
                                        break;
                                }
                                break;
                        }
                        break;
                        default:
                                WM_DefaultProc(pMsg);
        }
}
void MainTask(void) {
        WM_HWIN hDlg;
  WM_HTIMER hTimer;
  Count=0;
  WM_SetCreateFlags(WM_CF_MEMDEV);
  GUI_Init();
  WM_SetDesktopColor(GUI_BLUE);
  FRAMEWIN_SetDefaultSkin(FRAMEWIN_SKIN_FLEX);
  BUTTON_SetDefaultSkin(BUTTON_SKIN_FLEX);
  hDlg=GUI_CreateDialogBox(_aDialogCreate,GUI_COUNTOF(_aDialogCreate),&_cbCallback,0,0,0);
  //GUI_ExecDialogBox(_aDialogCreate,GUI_COUNTOF(_aDialogCreate),&_cbCallback,0,0,0);
  //hTimer=WM_CreateTimer(WM_GetClientWindow(hDlg),0,100,0);
  while(1)
  {
          GUI_Delay(100);
  }
}
/*************************** End of file ****************************/
可是模拟器仿真出错,图片如下:

请问大神,怎么解决?谢谢!

回帖(2)

张桂芝

2020-6-2 13:16:56
参数设置错识
举报

林明

2020-6-2 13:22:57
谢谢,少了一个break
举报

更多回帖

发帖
×
20
完善资料,
赚取积分