关于使用category57screen屏幕的几点思考
2010-02-01 18:11
513 查看
关于使用category57screen屏幕的几点思考
inlineItemselect的数组要声明成全局变量,如果不:
1.把inlineitemselect放在第一行,能有使用,放在其他位置就不行,显示字符串部分成乱码。
2.无法进行选择,一旦选择就中断。
其他内联的功能参见
Full screen edit:
void custom_setup_function(void)
{
ChangeLeftSoftkey (STR_GLOBAL_OPTIONS, IMG_GLOBAL_OPTIONS);
SetLeftSoftkeyFunction(EntryScrForInputMethodAndDone, KEY_EVENT_UP);
SetInputMethodAndDoneCaptionIcon(IMG_SCR_PBOOK_CAPTION);
}
UI_character_type my_string[100];
SetInlineItemActivation(&wgui_inline_items[inline_item_index],KEY_LSK,KEY_EVENT_UP);
SetInlineItemFullScreenEdit( &wgui_inline_items[inline_item_index],TITLE_ID, TITLE_ICON_ID, (PU8)my_string,100, INPUT_TYPE_ALPHANUMERIC_SENTENCECASE );
SetInlineFullScreenEditCustomFunction(&wgui_inline_items[inline_item_index], custom_setup_function);
Text edit:
UI_character_type my_string[100];
SetInlineItemTextEdit( &wgui_inline_items[inline_item_index], (U8*)PU8)my_string, 100, INPUT_TYPE_DECIMAL_NUMERIC );
Multiline edit:
UI_character_type my_string[100];
SetInlineItemMultiLineEdit( &wgui_inline_items[inline_item_index], my_string,
(U8*)GetString(STR_EMAIL_SIGNATURE_TEXT),
100, INPUT_TYPE_ALPHANUMERIC_SENTENCECASE );
Multiline read only:
UI_character_type my_string[100];
SetInlineMultiLineRdOnly ( &wgui_inline_items[inline_item_index],
(U8*)PU8)my_string, 100, INPUT_TYPE_USE_ENCODING_BASED_LENGTH |
INPUT_TYPE_ALPHANUMERIC_SENTENCECASE, 3);
Select:
S32 my_select_index = 0;
S32 num_of_items = 3;
UI_character_type list_of_items[3][] = {L”slect 1”, L”select 2”, L”selct 3”};
SetInlineItemSelect(&(wgui_inline_items[inline_item_index]), num_of_items, (U8**)list_of_items, &my_select_index );
Color select:
void color_highlighted_callback(U16 index)
{
//Save index
}
U16 HilitedColor = 1;
color color_list[3] = {{0,255,255}, {255,0,0}, {0,255,0}};
SetInlineItemColorSelect(&wgui_inline_items[inline_item_index], 3, HilitedColor , color_list, color_highlighted_callback);
User defined select:
U8* current_item_callback()
{
return (U8*)L”index 2”;
}
U8* previous_item_callback()
{
return (U8*)L”index 1”;
}
U8* next_item_callback()
{
return (U8*)L”index 3”;
}
SetInlineItemUserDefinedSelect(&wgui_inline_items[inline_item_index],current_item_callback, previous_item_callback, next_item_callback);
Date:
void DateEditorCallback(U8 *DateStr, U8 *day,U8 *month,U8 *year) //show date string callback
{
pfnUnicodeStrcpy((S8*)DateStr,(S8*)year); pfnUnicodeStrcat((S8*)DateStr,(S8*)"/");
pfnUnicodeStrcat((S8*)DateStr,(S8*)month); pfnUnicodeStrcat((S8*)DateStr,(S8*)"/");
pfnUnicodeStrcat((S8*)DateStr,(S8*)day);
}
SetInlineItemDate( (&(wgui_inline_items[inline_item_index]), (U8*)gDate,(U8*)gMonth,(U8*)gYear, DateEditorCallback);
set_inline_date_boundary(2030, 2000, 12, 1); //year from 2000 to 2030,month from 1 to 12
Time:
void TimeEditorCallBack(U8 *string_buffer,U8* hours_buffer,U8* min_buffer,U8* AM_PM_flag)
{
pfnUnicodeStrcpy((S8*)string_buffer,(S8*)hours_buffer);
pfnUnicodeStrcat((S8*)string_buffer,(S8*)":");
pfnUnicodeStrcat((S8*)string_buffer,(S8*)min_buffer);
}
SetInlineItemTime (&wgui_inline_items[inline_item_index], (U8*)HourBuf, (U8*)MinBuf,NULL, TimeEditorCallBack);
Time period:
void TimeEditorCallBack(U8* string_buffer, U8* hours_buffer1, U8* minutes_buffer1, U8* AM_PM_flag1,
U8* hours_buffer2,U8* minutes_buffer2,U8* AM_PM_flag2)
{
//Set string_buffer such as “12:30 – 17:50”
}
SetInlineItemTimePeriod(&(wgui_inline_items[inline_item_index]),(U8*)HourBuff1, (U8*)MinBuff1, NULL,
(U8*)HourBuff2, (U8*)MinBuff2, NULL, TimeEditorCallBack);
Dow(day of week) select:
S32 HilitedDays = 3;
U8 gDaysStates[7] = {1,0,0,0,1,1,0};
SetInlineItemDOWSelect(&(wgui_inline_items[inline_item_index]),HilitedDays, gDaysStates);
Activation:
S32 key_code = INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT; // Or KEY_0 to MAX_KEYS
S32 key_event = 0; //Or KEY_EVENT_DOWN / KEY_EVENT_UP / KEY_LONG_PRESS / KEY_REPEAT
SetInlineItemActivation(&(wgui_inline_items[inline_item_index]), key_code, key_event );
Display only:
SetInlineItemDisplayOnly(&(wgui_inline_items[inline_item_index]), my_string);
Caption:
SetInlineItemCaption(&wgui_inline_items[inline_item_index], (U8*)my_sting);
Ip4 edit:
void ip_addr_callback(U8* string_buffer,U8 *IP1,U8 *IP2,U8 *IP3,U8 *IP4)
{
//Set string_buffer such as “172.021.210.70”
}
UI_character_type ip_string[4][4]; //255.255.255.255
SetInlineItemIP4(&wgui_inline_items[inline_item_index], ip_string[0], ip_string[1], ip_string[2], ip_string[3], ip_addr_callback);
相关文章推荐
- 关于使用“JS获取屏幕,浏览器,网页高度宽度”的个人思考
- 关于回旋矩阵的几点思考 (数组-不使用数组)
- 关于git和maven使用的几点思考
- 关于使用mybatis的几点总结
- 关于struts2.5.2 初步学习 遇到的几点改变以及使用通配符调用无效的问题
- 【react学习】关于react框架使用的一些细节要点的思考
- 关于Random,ThreadLocalRandom,SecureRandom的几点思考
- 【转】关于使用GUID和Identity做主键的一些思考
- 关于序列化Serializable的几点思考
- 关于PCA降维原理的几点思考
- 关于最近使用ROS的几点备注
- 关于并发下内存及CPU使用情况的思考
- 关于博客园是否可以开展培训业务的几点思考
- 关于Impala优化的几点思考
- [C++]关于数据永久化的思考(不使用数据库)
- 关于postman使用的几点心得
- 关于微博运营的几点思考
- 关于使用析构函数的几点注意事项
- 关于使用ActionBar要注意的几点<动态更新...>
- 关于mysql备份的几点思考