嵌入式C语言之屏幕操作之 模拟MessageBox函数

原创 2007年09月13日 14:46:00

 嵌入式系统中没有给我们提供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;
      }

}

自动化测试程序之二模拟触摸屏点击事件和滑动事件(C语言)

一、测试程序编写说明 终端设备上运行的是LINUX+QT应用程序,使用触摸屏进行人机交互。经过测试人员长时间的人机交互测试,来确认系统的功能是否满足需求后。现在需要编写一个自动化的测试程序模拟触摸...
  • flyeagle022
  • flyeagle022
  • 2015年06月12日 16:15
  • 3571

lcd彩屏画点画线和画圆 嵌入式开发

在lcd显示屏上的指定点画出直线,点,圆 本文源于 海之遥的博客 http://blog.sina.com.cn/atpx1989            亲测可行,觉得很有意义,拿过来以备以后用...
  • p1126500468
  • p1126500468
  • 2015年12月29日 18:39
  • 2707

用简单的C语言实现多任务轮流切换(模拟操作系统线程机制)

最近在看linux内核的进程调度算法,也写了不少的内核注释,也参考了鸿哥的单片机框架,代码注释就开源在我的CSDN的git代码库里,有兴趣的可以去瞧瞧。 突发奇想,想到了既然单片机能够实现,那么我用...
  • morixinguan
  • morixinguan
  • 2016年01月27日 21:44
  • 2869

嵌入式C语言专题三:屏幕操作篇

屏幕乃嵌入式系统生存之重要辅助,面目可憎之显示将另用户逃之夭夭。屏幕编程若处理不好,将是软件中最不系统、最混乱的部分,笔者曾深受其害。   内容要点: ·汉字处理 ·系统时间显示 ·动...
  • jeffade
  • jeffade
  • 2012年06月05日 20:48
  • 334

嵌入式C语言修炼之道.屏幕操作篇

汉字处理   现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能。例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能;一个提...
  • wangshuwang
  • wangshuwang
  • 2015年01月11日 15:29
  • 417

Win32 SDK函数MessageBox的模拟实现(C语言版)

版本一:对于使用“掩码”传递参数的方法,简单的实现思路: #include #define MB_OK 0x00000000 #define MB_OKCANCE...
  • u012348298
  • u012348298
  • 2013年10月12日 15:26
  • 785

自己写C语言一些基本函数,比标准库实现简单,提高嵌入式效率

  • 2017年04月19日 21:26
  • 5KB
  • 下载

嵌入式C语言修炼之道.内存操作篇

数据指针   在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试中,多借助C语...
  • wangshuwang
  • wangshuwang
  • 2015年01月11日 14:23
  • 543

嵌入式C语言专题四:键盘操作篇

计算机学的许多知识都具有相通性,因而,不断追赶时髦技术而忽略基本功的做法是徒劳无意的。我们最多需要"精通 "三种语言,最佳拍档是汇编、C、C++(或JAVA),很显然,如果你"精通"了这三种语言,其它...
  • jeffade
  • jeffade
  • 2012年06月05日 20:49
  • 276

嵌入式C语言专题二:内存操作篇

C语言最精华的内涵皆在内存操作中体现。我们之所以在嵌入式系统中使用C语言进行程序设计,99%是因为其强大的内存操作能力!   如果你爱编程,请你爱C语言; 如果你爱C语言,请你爱指针; 如果...
  • Baiduluckyboy
  • Baiduluckyboy
  • 2011年11月22日 20:31
  • 650
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式C语言之屏幕操作之 模拟MessageBox函数
举报原因:
原因补充:

(最多只允许输入30个字)