按照文档写了一个简单的程序:hello world,在按菜单键(即左键)的时候会显示白底红字的“hello world”,具体代码如下:
/* 模块入口 */
void mmi_HelloWorld_entry(void)
{
#ifdef __MMI_HELLOWORLD_ENABLED__
/* 强制退出当前屏幕,之后进入到我们的模块了 */
/* 上电缺省是idle屏幕,现进入MAIN_MENU_SCREENID屏 */
/* 注意看第二个参数,这个是当我们模块被强制退出时执行的一些操作 */
EntryNewScreen(MAIN_MENU_SCREENID, mmi_HelloWorld_exit, NULL, NULL); -------这个具体是干了什么工作
/* 关掉屏幕顶部的状态条,我们要用整个屏幕 */
entry_full_screen();
/* 擦除当前背景 */
clear_screen();
/* 移动文本输出光标 */
gui_move_text_cursor(50, 100);
/* 设置字体颜色 */
gui_set_text_color(UI_COLOR_RED);
/* 输出文本到显示缓冲, 注意是Unicode编码 */
gui_print_text(L"Hello, World");
/* 刷新屏幕显示,MMI用的是双缓冲绘图方式,而且需要显式刷新 */
gui_BLT_double_buffer(0, 0, UI_device_width - 1, UI_device_height - 1);
/* 注册一个按键处理,右软键弹起时返回到之前被我们强制退出的模块 */
SetKeyHandler(GoBackHistory, KEY_RSK, KEY_EVENT_UP); -------这个具体是干了什么工作
#endif
}
上面问这两个问题的目的是想了解 mtk消息机制是怎样的,望讲的详细些,多谢,多谢!! |