通常,在我们的应用程序中必须处理以下的几个事件:
1、EVT_APP_START事件。在应用程序启动时,我们在应用程序中注册的事件捕获函数将会接收到这个事件,这表示我们的应用程序已经开始运行了。在我们的应用程序中,可以在这个事件中进行创建接口,或者分配内存空间等操作。
2、EVT_APP_STOP事件。在我们的应用程序结束时将接收到这个事件,表示应用程序已经停止运行了。我们应该在应用程序收到这个事件的时候,释放全部分配的内存和和创建的接口实例等资源。
3、EVT_APP_SUSPEND事件。在我们的应用程序接收到这个事件的时候,它表示应用程序需要中断执行。这种情况通常发生在我们在当前的应用程序中启动了另一个应用程序,或者在我们的应用程序运行过程中收到了一个电话等需要打断当前应用程序运行的情况下。在这个事件中,我们需要保存应用程序中的相关状态数据,用于在应用程序恢复执行时恢复程序的状态。此事件过后,应用程序进入挂起状态。
4、EVT_APP_RESUME事件。在我们的应用程序从中断执行(挂起)状态返回到运行状态时,将会收到这个事件。在这个事件中我们需要根据在EVT_APP_SUSPEND事件中保存的状态数据恢复应用程序的执行状态。此事件之后,应用程序就处于正常的活动状态了。
下面将介绍一下其他相关的BREW系统事件,对于每一个BREW事件,如果有 wParam和dwParam参数,将被传递给给定的小程序和控件。如果我们处理这个事件,需要在事件处理函数中返回TRUE,否则返回FALSE。这些事件如下所示:
事件名称
所属类型
描述
EVT_APP_START
系统事件
启动应用程序的事件,dwParam = ( AEEAppStart * )
EVT_APP_STOP
系统事件
应用程序停止,无参数
EVT_APP_SUSPEND
系统事件
应用程序挂起,无参数
EVT_APP_RESUME
系统事件
应用程序恢复,dwParam = ( AEEAppStart * )
EVT_APP_CONFIG
系统事件
切换应用程序,显示配置界面
EVT_APP_HIDDEN_CONFIG
系统事件
切换应用程序,显示隐藏配置界面
EVT_APP_BROWSE_URL
系统事件
在EVT_APP_START之后调用,dwParam = (const AECHAR * pURL)
EVT_APP_BROWSE_FILE
系统事件
在 EVT_APP_START 之后调用,dwParam = (const AECHAR * pszFileName)
EVT_APP_MESSAGE
系统事件
文本消息,wParam = AEESMSEncoding,dwParam取决于 wParam 值的字符串格式
EVT_APP_TERMINATE
系统事件
EVT_APP_STOP的强制版本。小程序将被释放。
EVT_EXIT
系统事件
在BREW终止时发送给所有已加载的小程序
EVT_APP_NO_CLOSE
系统事件
应用程序不应关闭
EVT_APP_NO_SLEEP
系统事件
应用程序正在运行 - 运行应用程序很长时间之后调用
EVT_KEY
按键事件
按键事件,wParam = 按键代码
EVT_KEY_PRESS
按键事件
按键按下事件,wParam = 按键代码,发生在EVT_KEY事件之前
EVT_KEY_RELEASE
按键事件
按键抬起事件,wParam = 按键代码,发生在EVT_KEY事件之后
EVT_CHAR
按键事件
字符事件,wParam表示发生事件的宽字符
EVT_UPDATECHAR
按键事件
字符更新事件,wParam表示发生事件的宽字符
EVT_COMMAND
控件事件
自定义控件的事件,wParam表示发生事件的Item ID值。如菜单按下时发生此事件。
EVT_CTL_TAB
控件事件
控件焦点切换事件,dwParam = 控件;wParam = 0-向左顺序切换,1-向右顺序切换
EVT_CTL_SET_TITLE
控件事件
设置标题的消息接口,wParam = ID;dwParam = 资源文件(如果 ID != 0)或文本
EVT_CTL_SET_TEXT
控件事件
设置文本的消息接口, wParam = ID;dwParam = 资源文件(如果 ID != 0)或文本
EVT_DIALOG_INIT
对话框事件
对话框初始化事件,创建控件,预初始化值、标记和其它项,wParam = ID;dwParam = IDialog *
EVT_DIALOG_START
对话框事件
对话框打开事件,wParam = ID;dwParam = IDialog *
EVT_DIALOG_END
对话框事件
对话框正常结束事件,wParam = ID;dwParam = IDialog *
EVT_COPYRIGHT_END
对话框事件
版权对话框结束事件
EVT_ALARM
Shell事件
闹钟事件,wParam表示闹钟序号
EVT_NOTIFY
Shell事件
通知事件,dwParam = AEENotify *
EVT_BUSY
Shell事件
发送到应用程序以确定是否可以中止或停止该应用程序。
EVT_FLIP
设备事件
设备翻盖事件,wParam = TRUE(打开);FALSE(关闭)
EVT_KEYGUARD
设备事件
键盘锁事件,wParam = TRUE(键盘锁定打开)
EVT_HEADSET
设备事件
耳机事件,wParam == TRUE(已插入耳机,否则为 FALSE)
EVT_PEN_DOWN
设备事件
触摸笔按下事件,dwParam = 点笔的位置: 高16位表示x坐标,低16位表示y坐标
EVT_PEN_MOVE
设备事件
触摸笔移动事件,dwParam = 点笔的位置: 高16位表示x坐标,低16位表示y坐标
EVT_PEN_UP
设备事件
触摸笔抬起事件,dwParam = 点笔的位置: 高16位表示x坐标,低16位表示y坐标
EVT_PEN_STALE_MOVE
设备事件
触摸笔事件过多时发送,应用程序通常忽略这个事件。dwParam = 点笔的位置: 高16位表示x坐标,低16位表示y坐标
EVT_USER
用户事件
用户定义事件(应用程序私有)
除了上面的这些BREW系统预定义事件外,在BREW SDK中AEE.h文件中还定义了其他的一些事件,有兴趣的读者可以详细的查看这个文件。我们也可以定义属于我们自己应用程序独有的事件,这些事件通常以EVT_USER事件作为起始序号,这样可以避免与系统事件之间的冲突。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lastsweetop/archive/2009/03/09/3974256.aspx