嵌入式系统中没有给我们提供MessageBox,但是鉴于其功能强大,我们需要模拟之,一个模拟MessageBox函数为:

/**//*****************************************************************************************************************
/* 函数名称:MessageBox
/* 功能说明:弹出式对话框,显示提醒用户的信息
/* 参数说明:lpStr ---提醒用户的字符串输出信息
/* TYPE ---输出格式(ID OK = 0,ID OKCANCEL =1)
/* 返回值:返回 对话框接收的键值,只有两种KEY_OK,KEY_CANCEL
/*****************************************************************************************************************
typedef enum TYPE { ID_OK,ID_OKCANCEL }MSG_TYPE;
extern BYTE MessageBox( LPBYTE lpStr,BYTE TYPE)
{
BYTE keyValue = -1;
ClearScreen(); /* 清除屏幕*/

DisplayString(xPos,yPos,lpStr,TRUE); /**//*显示字符串*/

/**//* 根据对话框类型决定是否显示确定,取消*/
switch(TYPY)

...{
case ID_OK:
DisplayString( 13, yPos+High+1, "确定",0);
break;
case ID_OKCANCEL:
DisplayString(8, yPos+High+1, "确定",0);
DisplayString(17, yPos+High+1, "取消",0);
break;
default:
}

DrawRect(0,0,239,yPos+High+16+4); /**//*绘制外框*/

/**//*MessageBox是模式对话框,阻塞运行,等待按键*/
while((keyValue != KEY_OK) || (keyValue != KEY_CANCEL))

...{
keyValue = getSysKey();
}
if(keyValue==KEY_OK)

...{
return ID_OK;
}
else

...{
retrn ID_CANCEL;
}
}
