关于MTK平台列表控件的使用

在MTK平台下使用列表控件,上网找找资料,看了一下傅贵写的《MMI实例培训教程》的书,修改一下代码,如下:

代码
 
   
fixed_list_menu My_fixed_list_menu; // 列表菜单框架
fixed_icontext_menuitem My_fixed_icontext_menuitem_common; // 菜单项公共属性

#define My_fixed_list_n_items (8) // 菜单项项数
fixed_icontext_menuitem_type My_fixed_list_menuitems[My_fixed_list_n_items];
// icontext 型菜单项列表
void * My_fixed_menuitem_pointers[My_fixed_list_n_items]; // 指向菜单项列表的索引列表

void Test_List_Ctrl( void )
{
S32 i;

EntryNewScreen(SCR_ID_GOOME_GPS_FOOTPRINT_SET_TARGET,NULL,NULL,NULL);

// 开始显示菜单
memset( & My_fixed_list_menu, 0 , sizeof (fixed_list_menu));
gui_create_fixed_list_menu(
& My_fixed_list_menu, 20 , MMI_content_y + 5 , 136 , MMI_content_height - 50 );
MMI_current_menu_type
= LIST_MENU;

memset(
& My_fixed_icontext_menuitem_common, 0 , sizeof (fixed_icontext_menuitem));
gui_create_fixed_icontext_menuitem(
& My_fixed_icontext_menuitem_common, 136 , 18 ); // 宽高
gui_fixed_icontext_menuitem_set_text_position( & My_fixed_icontext_menuitem_common, 24 , 0 ); // 文本偏移距离
My_fixed_icontext_menuitem_common.flags |= UI_MENUITEM_DISABLE_BACKGROUND; // 统一标志符

memset(
& My_fixed_list_menuitems, 0 , sizeof (fixed_icontext_menuitem_type) * My_fixed_list_n_items);
for (i = 0 ; i < My_fixed_list_n_items; i ++ )
{
My_fixed_list_menuitems[i].item_text
= (UI_string_type)GetString(STR_ID_GOOME_GPS_FOOTPRINT); // 菜单项文本
My_fixed_list_menuitems[i].item_icon = (PU8) GetImage(IMG_GLOBAL_L1 + i); // 菜单项图标
My_fixed_list_menuitems[i].flags = (UI_MENUITEM_CENTER_TEXT_Y | UI_MENUITEM_CENTER_ICON_Y);
My_fixed_list_menuitems[i].item_icon_handle
= GDI_ERROR_HANDLE;
My_fixed_menuitem_pointers[i]
= ( void * ) & My_fixed_list_menuitems[i]; // 给索引列表赋值
}

My_fixed_list_menu.items
= My_fixed_menuitem_pointers; // 菜单项索引列表
My_fixed_list_menu.common_item_data = ( void * ) & My_fixed_icontext_menuitem_common; // 菜单项公共属性
My_fixed_list_menu.n_items = My_fixed_list_n_items; // 菜单项项数
gui_set_fixed_list_menu_item_functions( & My_fixed_list_menu, // 菜单项功能接口
gui_show_fixed_icontext_menuitem, // 显示菜单项函数
gui_measure_fixed_icontext_menuitem, // 测量菜单项函数
gui_highlight_fixed_icontext_menuitem, // 高亮函数
gui_remove_highlight_fixed_icontext_menuitem, // 失去高亮函数
gui_hide_fixed_icontext_menuitem, // 菜单项隐藏函数
NULL
);

My_fixed_list_menu.highlighted_item
= - 1 ; // 菜单高亮项索引,此为菜单框架内部属性值,在跳转之前一定要设为-1
gui_fixed_list_menu_goto_item( & My_fixed_list_menu, 0 );
gui_show_fixed_list_menu(
& My_fixed_list_menu);

// 显示菜单结束
gui_BLT_double_buffer( 0 , 0 , UI_device_width - 1 , UI_device_height - 1 );
SetKeyHandler(GoBackHistory, KEY_RSK, KEY_EVENT_UP);


}

 

加入后开始编译,当然会出现一些其它的错误,慢慢调,后来有一个错误是说 
gui_set_fixed_list_menu_item_functions
下wrong number parament 的,再次与书中的例子比较一下,没有错,在工程中搜索该函数,发现是8个参数的,二话不说,增加resize_fixed_icontext_menuitems在gui_set_fixed_list_menu_item_functions增加刚增加的函数名,另外将NULL改为gui_get_fixed_icontext_menuitem_flag。
再次编译,说找不到resize_fixed_icontext_menuitems函数,再次添加头文件
#include "wgui_fixed_menuitems.h"
编译,无错误,在真机上调试成功。

转载于:https://www.cnblogs.com/EricSu/archive/2010/09/23/1833575.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值