嵌入式培训

嵌入式Linux就业班马上开课了 详情点击这儿

 
上海报名热线:021-51875830
北京报名热线:010-51292078
深圳报名热线:0755-61280252
南京报名热线:4008699035
 
武汉报名热线:027-50767718
成都报名热线:4008699035 61787181
研发与生产 脱产就业培训基地
3G通信 企业培训 
  首 页   课程介绍   培训报名  企业培训   付款方式   讲师介绍   学员评价   关于我们   联系我们  承接项目 开发板商城  论坛
嵌入式协处理器--FPGA
FPGA项目实战系列课程----
嵌入式OS--3G手机操作系统
嵌入式协处理器--DSP
手机/网络/动漫游戏开发
嵌入式OS-Linux
嵌入式CPU--ARM
嵌入式OS--WinCE
单片机培训
嵌入式硬件设计
嵌入式OS--VxWorks
PowerPC嵌入式系统/编译器优化
PLC编程/变频器/数控/人机界面 
开发语言/数据库/软硬件测试
3G手机软件测试、硬件测试
云计算、物联网
开源操作系统Tigy OS开发
小型机系统管理
其他类
友情连接
WEB在线客服
武汉、南京在线WEB客服
点击这里给我发消息  
QQ客服一
点击这里给我发消息  
QQ客服二
点击这里给我发消息
QQ客服三
公益培训通知与资料下载
企业招聘与人才推荐(免费)

合作企业新人才需求公告

◆招人、应聘、人才合作
请访问曙海旗下网站---

电子人才网
www.morning-sea.com.cn
合作伙伴与授权机构
现代化的多媒体教室
曙海集团招聘启示
曙海动态
邮件列表
 
自绘制控件
 

自绘制控件
如果现有控件中找不到符合要求的怎么办?用DM_CATEGORY_CONTROLLED_AREA。此控件由你自己绘制,触摸
屏幕操作也由控件自己处理。
下面我们为新模板加上一个自画区域,并将此区域的触摸屏操作用文本显示出来。
修改模板数据库:
const U8 category888[] =
{

DM_BASE_LAYER_START,
DM_CATEGORY_CONTROLLED_AREA, //将自画区域放在前面,这样就不防碍后面控件显示及操作
DM_LIST1,
DM_BUTTON_BAR1,
};
const S16 coordinate_set888[] =
{
DM_FULL_SCREEN_COORDINATE_FLAG,
DM_FULL_SCREEN_COORDINATE_FLAG, //此控件为全屏大小
, MMI_CONTENT_Y + 5, 136, MMI_CONTENT_HEIGHT - 40, DM_NO_FLAGS,
DM_DEFAULT_BUTTON_BAR_FLAG, MMI_SOFTKEY_WIDTH
};
修改CategoryScreen:
//将当前触摸屏操作以文本形式显示出来
void DrawCate888PenStatus(U8* event_type, mmi_pen_point_struct point)
{
S32 x, y;
color text_color = {255, 0, 0, 100};
gdi_layer_lock_frame_buffer();
gui_reset_clip();
gui_set_text_color(text_color);
x = 20;
y = 170;
gui_move_text_cursor(x, y);
gui_fill_rectangle(0, y - 3, UI_device_width - 1, y + 20 + 3, UI_COLOR_WHITE);
gui_printf((UI_string_type)"%s {%d, %d}",event_type, point.x, point.y);
gdi_layer_unlock_frame_buffer();
gui_BLT_double_buffer(0, y, UI_device_width - 1, y + 20);
}
//绘制自画区域
void DrawCate888CategoryControlArea(dm_coordinates *coordinate)
{
mmi_pen_point_struct point = {-1, -1};
DrawCate888PenStatus("Pen None", point);
}
//触摸笔按下响应函数
MMI_BOOL Cate888CategoryControlAreaPenDownHandler(mmi_pen_point_struct point)
{
DrawCate888PenStatus("Pen Down", point);
return TRUE;
}
//触摸笔放开响应函数
MMI_BOOL Cate888CategoryControlAreaPenUpHandler(mmi_pen_point_struct point)
{
DrawCate888PenStatus("Pen Up", point);
return TRUE;
}
//触摸笔移动响应函数
MMI_BOOL Cate888CategoryControlAreaPenMoveHandler(mmi_pen_point_struct point)
{
DrawCate888PenStatus("Pen Move", point);
return TRUE;
}
//触摸笔重复响应函数
MMI_BOOL Cate888CategoryControlAreaPenRepeatHandler(mmi_pen_point_struct point)
{
DrawCate888PenStatus("Pen Repeat", point);
return TRUE;
}
//触摸笔长按响应函数
MMI_BOOL Cate888CategoryControlAreaPenLongTapHandler(mmi_pen_point_struct point)
{
DrawCate888PenStatus("Pen LongTap", point);
return TRUE;
}
//触摸笔中止响应函数
MMI_BOOL Cate888CategoryControlAreaPenAbortHandler(mmi_pen_point_struct point)
{
DrawCate888PenStatus("Pen Abort", point);
return TRUE;
}
void ShowCategory888Screen(
U16 left_softkey, U16 left_softkey_icon, U16 right_softkey, U16 right_softkey_icon,
S32 number_of_items, U16 *list_of_items, U16 *list_of_icons,
S32 highlighted_item, U8 *history_buffer)
{
… …
//初始化自画区域
dm_register_category_controlled_callback(DrawCate888CategoryControlArea); //注册自画区域绘制函数
wgui_register_category_screen_control_area_pen_handlers(//注册自画区域触摸笔按下响应函数
Cate888CategoryControlAreaPenDownHandler, MMI_PEN_EVENT_DOWN);
wgui_register_category_screen_control_area_pen_handlers(//注册自画区域触摸笔放开响应函数
Cate888CategoryControlAreaPenUpHandler, MMI_PEN_EVENT_UP);
wgui_register_category_screen_control_area_pen_handlers(//注册自画区域触摸笔移动响应函数
Cate888CategoryControlAreaPenMoveHandler, MMI_PEN_EVENT_MOVE);
wgui_register_category_screen_control_area_pen_handlers(//注册自画区域触摸笔重复响应函数
Cate888CategoryControlAreaPenRepeatHandler, MMI_PEN_EVENT_REPEAT);
wgui_register_category_screen_control_area_pen_handlers(//注册自画区域触摸笔长按响应函数
Cate888CategoryControlAreaPenLongTapHandler, MMI_PEN_EVENT_LONG_TAP);
wgui_register_category_screen_control_area_pen_handlers(//注册自画区域触摸笔中止响应函数
Cate888CategoryControlAreaPenAbortHandler, MMI_PEN_EVENT_ABORT);
gdi_layer_unlock_frame_buffer();
ExitCategoryFunction = ExitCategory888Screen;
… …
dm_redraw_category_screen();



 
 
 
版权所有:曙海信息网络科技有限公司 copyright 2000-2010
 
上海总部

地址:上海市真北路2500号星河世纪广场A座1904
(地铁11号线上海西站4号出口,家乐福桃浦路店旁)
邮编:200062
热线:021-51875830 32300767
传真:021-32300767
业务手机:15921673576/13918613812
E-mail:officeoffice@126.com
客服QQ: shuhaipeixun
北京分中心

地址:北京市昌平区沙河南街11号312室
(地铁昌平线沙河站B出口) 邮编:102200 行走路线:请点击这查看
热线:010-51292078 57292751
传真:010-51292078
业务手机:13661044276 15313032557
E-mail:officeoffice@126.com
客服QQ:1243285887
深圳分中心

地址:深圳市罗湖区桂园路2号电影大厦A座1816
(地铁一号线大剧院站D出口旁,桂园路和解放路交叉口,近地王大厦)
热线:0755-61280252 25912501
传真:0755-25912501

邮编:518001
信箱:qianru2@51qianru.cn
客服QQ:2472106501
南京分中心

地址:江苏省南京市栖霞区和燕路251号金港大厦B座2201室
(地铁一号线迈皋桥站1号出口旁,近南京火车站)
热线:4008699035
传真:025-84611061
业务手机:13851400109
邮编:210046
信箱:qianru3@51qianru.cn
客服QQ:1325341129
 
成都分中心

地址:四川省成都市金牛区泰安里营门口路88号四威大厦1幢302 邮编:610031
热线:4008699035 61787181 业务手机:18982211962
客服QQ:1325341129 E-mail:qianru4@51qianru.cn

武汉分中心

地址:湖北省武汉市江汉区新华路139号凯盟大厦401 邮编:430022
热线:4008699035
客服微信:shuhaipeixun E-mail:qianru5@51qianru.cn

双休日、节假日及晚上可致电值班电话:021-51875830 值班手机:15921673576/13918613812


备案号:沪ICP备05030316号

.(2011年11月5日)................................................................................