DM模板使用心得
来源:互联网 发布:中韩翻译软件 编辑:程序博客网 时间:2024/04/29 13:21
DM模板的一般使用方法见某牛人所著<<MMI实例培训教程>>,这里仅讨论一些零碎的使用心得
1. 很多ShowCategoryXXXScreen函数都调用ShowListCategoryScreen,使用改函数可简化模板的绘制工作,
现在分析一下ShowListCategoryScreen到底做了什么工作:
(1) 设置Title
将title文本及图标数据-->全局变量MMI_title_string,MMI_title_icon
(2) shortcut
(3) Softkeys
实际上是完成了对左右软键的重画
(4) List
编辑菜单样式
注册方向键
......
2. 新建DM模板
Step1. Wgui_categories_enum.h
位置: ../plutommi/gui/gui_src/Wgui_categories
新建一个模板ID: MMI_CATEGORYWTXYZ2_ID
Step2. CustCoordinates.c
位置: ../plitommi/customer/custresource/CustCoordinates.c
A. 在g_categories_controls_map[]中加入:
{MMI_CATEGORYWTXTZ2_ID,(U8*)categoryWTXYZ2,(S16*)coordinate_setWTXYZ2,NULL}
B. 创建新模板的控件数组
const U8 categoryWTXYZ2[]=
{
5,
DM_BASE_LAYER_START,
DM_SCR_BG,
DM_BASE_CONTROL_SET1,
DM_SINGLELINE_INPUTBOX1,
DM_LIST1
};
C. 创建新模板的属性集
const S16 coordinate_setWTXYZ2[]=
{
DM_FULL_SCREEN_COORDINATE_FLAG,
DM_CUSTOM_DEFINE_INPUTBOX, // should be defined
DM_CUSTOM_DEFINE_LIST // should be defined
};
Step3. Wgui_draw_manager.h
位置: ../plutommi/gui/gui_inc/Wgui_draw_manager.h
在mmi_dm_control_ids_enum枚举中定义新的属性: DM_CUSTOM_DEFINE_INPUTBOX, DM_CUSTOM_DEFINE_LIST
Step4. Wgui_draw_manager.c
位置: ../plutommi/gui/gui_src/Wgui_draw_manager.c
更新函数 dm_get_coordinates( )
在dm_get_coordinates( )增加对新属性的处理:
else if( *UICtrlAccessPtr_p==DM_CUSTOM_DEFINE_LIST )
{
dm_coordinate_info->s16X = (S16)MMI_custom_listbox_x;
dm_coordinate_info->s16Y = (S16)MMI_custom_listbox_y;
dm_coordinate_info->s16Width = (S16)MMI_custom_listbox_width;
dm_coordinate_info->s16Height = (S16)MMI_custom_listbox_height;
dm_coordinate_info->Flags = DM_NO_FLAGS;
UICtrlAccessPtr_p ++ ;
}
else if( *UICtrlAccessPtr_p==DM_CUSTOM_DEFINE_INPUTBOX )
{
dm_coordinate_info->s16X = (S16)MMI_custom_inputbox_x;
dm_coordinate_info->s16Y = (S16)MMI_custom_inputbox_y;
dm_coordinate_info->s16Width = (S16)MMI_custom_inputbox_width;
dm_coordinate_info->s16Height = (S16)MMI_custom_inputbox_height;
dm_coordinate_info->Flags = DM_SINGLE_LINE_INPUTBOX_SPECIFIC_HEIGHT;
UICtrlAccessPtr_p ++ ;
}
Step5. Wgui.h
位置: ../plutommi/gui/gui_inc/Wgui.h
定义新的属性信息: MMI_custom_listbox_x, MMI_custom_listbox_y, ...
Step6. Wgui_category.c
位置: ../sw/plutommi/gui/gui_src/Wgui_category.c
A. 编写模板相关函数
B. 添加用户事件定义接口(wgui_category.h)
- DM模板使用心得
- DM模板使用心得
- django模板使用心得
- django模板使用心得
- jQuery 模板 jTemplates 使用心得
- 使用js模板引擎心得
- C++模板使用的一点心得
- 套用dede模板使用心得(2015)
- jquery.tmplate模板引擎使用心得
- DM
- DM
- dm
- dm
- DM硬盘分区使用教程(图解)
- 在VFP上使用DM数据库
- [转]DM硬盘低格使用图解
- 图解DM的基本使用:硬盘分区
- OSGi与Spring DM:使用Spring DataSource
- SQL 游标和锁
- Windows Server 2008 R2向VPN说再见
- 好久没写东西了
- google app engine 实现的网络硬盘,支持外链、权限管理和批量上传
- C语言程序的汇编分析3——for循环
- DM模板使用心得
- 减少SQL Server数据库死锁的方法
- BEA在部署maximo程序文件报错:Unable to deploy EJB: JMSContQueueProcessor-1
- 菜单响应函数:ON_COMMAND和ON_UPDATE_COMMAND_UI,ON_COMMAND_RANGE和ON_UPDATE_COMMAND_UI_RANGE
- 可用性及测试方法小介绍
- 百度前端开发框架tangram
- 在Ubuntu 10.04+系统中安装Sun Java
- 进入和退出屏幕模板程序
- 不能使用Hibernate Reverse Engineering生成实体类的原因