ULL NULL / 关掉屏幕顶部的状态条,我们要用整个屏幕 / entry_full_screen / 擦除当前背景 / clear_screen / 移动文本输出光标 / gui_move_text_cursor50 100 / 设置字体颜色 / gui_set_text_colorUI_COLOR_RED / 输出文本到显示缓冲 注意是 Unicode 编码 / gui_print_textLquotHello Worldquot / 刷新屏幕显示,MMI 用的是双缓冲绘图方式,而且需要显式刷新 / gui_BLT_double_buffer0 0 UI_device_width - 1 UI_device_height - 1 / 注册一个按键处理,右软键弹起时返回到之前被我们强制退出的模块 / SetKeyHandlerGoBackHistory KEY_RSK KEY_EVENT_UPendif/ 模块出口 当我们的模块被其他模块强制退出时会执行这个函数, 这个函数的常见写法,包括: 1、模块已申请资源的释放如果需要的话,这一步可选 2、手动把自己压栈到窗口实际是整个屏堆栈里面, 便于强制我们退出的模块执行完后重新把我们叫出来 不像 Window 的窗口管理是自动压栈的,Pluto MMI 需要手动压栈 3、其他一些清理动作 /void mmi_HelloWorld_exitvoidifdef __MMI_HELLOWORLD_ENABLED__ history currHistory S16 nHistory 0 currHistory.scrnID MAIN_MENU_SCREENID currHistory.entryFuncPtr mmi_HelloWorld_entry pfnUnicodeStrcpy S8currHistory.inputBuffer S8ampnHistory AddHistorycurrHistoryendif// 编码的部分基本上就是这些了,然后我们开始 make,这次要用“make update”基于上述对相关系统文件的改动,make update 会自动将刚才的模块加入到整个项目中去,同时也会更新仿真器 VC 工程文件,如下图所示,HelloWorld 模块的相关文件已经被自动加入到 MMI 库里面了: 后续的 make, 用 如果是不涉及到系统相关文件的修改, “make remake”就可以了, 以节省编译时间,因为 make 一次太耗时间了。
注意:对于仿真程序的编译,“make update”似乎缺少一些处理,导致可能还需要 手工在文件“plutommimmiGlobalSimulatorPathDef”中追加一行,以便模块的头文件 能被顺利找到,如下所示: /I quot.HelloWorldIncquot 好,现在编译仿真程序开始看下效果,编译 make update 会清除掉仿真程序之前 编译的中间文件,这样仿真程序会整个重新编译 完后运行仿真器程序,如下图所示, 点选 File-gtNetwork Simulator 启动仿真,启动后手机模拟器进入 Idle 画面,点选手机模 拟画面上的“菜单”,就进入到我们的 Hello World 了,而不是之前的主菜单,然后点右 按钮,画面回到 Idle 画面。
至此,Hello World 基本完成,这是一个相对完整的模块框架,在此基础之上我们 可以逐步开始进入真正有意义的项目开发了。
三、 使用资源 我们知道,很多时候我们需要应付来自不同国家和地区客户的需求,他们使用的语言编码不一样,但实际上对产品功能的要求是基本相同的;此外即便是同一种语言,客户的个性化需求例如外观换皮肤也要求我们有相应手段来处理和产品业务逻辑关系不是很密切的产品表现手段,大多数时候,这些东西涉及到:字符串、图标、图片、菜单、字库、主题、声音等,也就是我们常说的资源,做过多语言版本软.
上一篇:
【精品】Microsoft Visual SourceSafe 6使用说明
下一篇:
问卷调查可以自动生成试卷等,并且只能一个用户登录