弹出菜单和列表框.doc

弹出菜单和列表框.doc

ID:28724419

大小:152.00 KB

页数:4页

时间:2018-12-13

弹出菜单和列表框.doc_第1页
弹出菜单和列表框.doc_第2页
弹出菜单和列表框.doc_第3页
弹出菜单和列表框.doc_第4页
资源描述:

《弹出菜单和列表框.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、弹出菜单和列表框一、基本特征弹出菜单类窗口的主要作用是在屏上任意局部区域显示多行菜单,供用户选择。用户可以通过触摸屏,上下按键,滚动条等移动当前菜单条,并进行选中。菜单的条目数可任意增加,每个条目支持一个特征的图标和一行文本,由用户赋给菜单类窗口。当菜单类窗口的条目被选中时,会通过command消息的方式通知用户。除此之外的其他处理(如条目的上下切换,换页等)都是弹出菜单类内部自动完成。弹出菜单(或列表框)的变成和菜单类基本相似,只是比菜单类少了一个滚动条风格支持,弹出菜单类的代码位于uilist.c中二、数据结构和菜单类一样,弹出菜单也有两个数据

2、结构,一个是窗口数据结构,一个是菜单条的数据结构:单个菜单条的结构:typedefstruct{UINT16ICON;本条目的图标IDUINT16Text;本条目的文本ID}MenuItem;弹出菜单窗口数据结构:typedefstruct{UINT16TitleText;标题文本UINT16TitleHeight;标题高度UINT16IconBackground;背景图片PicDescpIconItemSelect;选中条图片UINT16ItemLeft;条目左缩进UINT16Itemheight;条目高度UILIST*ListList;菜单列表

3、ListItem*CurrItem;当前条目UINT16CurrItemIndex;当前条目IDUINT16CurrItemDispLine;当前条目所在行UINT32MaxItemIndex;条目总数UINT32style;风格UINT32WinFullLine;每屏可显示条目数}W_List;三、响应的消息弹出菜单类响应下列消息:详细描述如下:WM_ListAddItem添加菜单条目的消息,用户通过发送此消息向菜单窗添加菜单,可一次添加多个。一般在创建完菜单窗后向窗口发送此消息建立菜单。WM_KEY键盘消息,列表框在收到此消息后,上下切换菜单条

4、,或进入菜单条。WM_TOUCH触摸屏消息,当有触摸屏点击某条菜单时,列表框收到此消息,选中此条目,并向用户发送选中某条菜单的commandWM_SetPic设置列表框上的几种图片,包括列表框的背景图和选中条图。当用户未向菜单窗发送此消息时,菜单使用默认的图片图标。WM_SetTxt设置列表框的标题文本。WM_CREATE消息:当窗口创建时被系统自动发送,列表框响应该消息创建列表框的数据结构。以及初始化必要的数据,WM_DESTROY消息:当窗口被关闭时由系统自动发送至列表框,在其中释放掉创建时申请的动态数据。WM_PAINT画屏消息:菜单类响应这

5、个刷屏消息时,先判断屏幕是否需要更新,若需要更新则依次将菜单类的背景图,标题文本,选中条图标和菜单行显示到窗口。WM_COMMAND当菜单具有滚动条风格时,滚动条有变化会向菜单窗以command消息的形式发送EV_ScrollChange事件,菜单窗收到事件后重排菜单。当菜单窗本身被键盘和触摸屏改变而重排时,也会通知滚动条重设百分比。WM_ListChangeItem动态修改弹出菜单的一个菜单项四、使用示例://创建弹出菜单窗口win=WindowCreate(win,WS_FULLSCREEN

6、WS_TICK,1022,320-113,240-1

7、13,112,112,SID_Txt_Listw,BID_PicList0,0,NULL,WinListProcMap,NULL);//添加菜单条目WindowSendMessage(win,WM_ListAddItem,4,&SampleMenu);其运行结果如下:另一种风格见下页:弹出菜单的另一种风格:支持半透,右箭头等福州瑞芯微电子有限公司2007年8月

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。