当前位置: 代码迷 >> WinCE >> 关于messageBox有关问题,多谢
  详细解决方案

关于messageBox有关问题,多谢

热度:93   发布时间:2016-04-28 13:26:59.0
关于messageBox问题,谢谢!
刚学嵌入式,看到如下实现类似VC的MessageBox的函数。
但不知道
DisplayString(xPos,yPos,lpStr,TRUE);   /*   显示字符串   */

DrawRect(0,   0,   239,   yPos+High+16+4);   /*   绘制外框   */
的具体实现代码。
望高手赐教!
小弟将感激不尽!

/******************************************
/*   函数名称:   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   (TYPE)
{
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:
break;
}
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
{
return   ID_CANCEL;
}
}

------解决方案--------------------
你这个代码应该不是运行在WinCE下的吧。DrawRect,DisplayString很可能是自定义的函数或者库函数,你首先要搞清楚这些代码是什么平台上运行的。
------解决方案--------------------
不熟悉这个东西,你看看它的帮助文件吧。估计是库函数。
  相关解决方案