- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GUI高级开发——列表框V1.1 - 命名规范
弹出菜单和列表框
一、基本特征
弹出菜单类窗口的主要作用是在屏上任意局部区域显示多行菜单,供用户选择。用户可以通过触摸屏,上下按键,滚动条等移动当前菜单条,并进行选中。
菜单的条目数可任意增加,每个条目支持一个特征的图标和一行文本,由用户赋给菜单类窗口。当菜单类窗口的条目被选中时,会通过command消息的方式通知用户。除此之外的其他处理(如条目的上下切换,换页等)都是弹出菜单类内部自动完成。
弹出菜单(或列表框)的变成和菜单类基本相似,只是比菜单类少了一个滚动条风格支持,弹出菜单类的代码位于uilist.c中
二、数据结构
和菜单类一样,弹出菜单也有两个数据结构,一个是窗口数据结构,一个是菜单条的数据结构:
单个菜单条的结构:
typedef struct {
UINT16 ICON; 本条目的图标ID
UINT16 Text; 本条目的文本ID
}MenuItem;
弹出菜单窗口数据结构:
typedef struct
{
UINT16 TitleText; 标题文本
UINT16 TitleHeight; 标题高度
UINT16 IconBackground; 背景图片
PicDescp IconItemSelect; 选中条图片
UINT16 ItemLeft; 条目左缩进
UINT16 Itemheight; 条目高度
UILIST *ListList; 菜单列表
ListItem *CurrItem; 当前条目
UINT16 CurrItemIndex; 当前条目ID
UINT16 CurrItemDispLine; 当前条目所在行
UINT32 MaxItemIndex; 条目总数
UINT32 style; 风格
UINT32 WinFullLine; 每屏可显示条目数
} W_List;
三、响应的消息
弹出菜单类响应下列消息:
详细描述如下:
WM_ListAddItem 添加菜单条目的消息,用户通过发送此消息向菜单窗添加菜单,可一次添加多个。一般在创建完菜单窗后向窗口发送此消息建立菜单。
WM_KEY 键盘消息,列表框在收到此消息后,上下切换菜单条,或进入菜单条。
WM_TOUCH 触摸屏消息,当有触摸屏点击某条菜单时,列表框收到此消息,选中此条目,并向用户发送选中某条菜单的command
WM_SetPic 设置列表框上的几种图片,包括列表框的背景图和选中条图。当用户未向菜单窗发送此消息时,菜单使用默认的图片图标。
WM_SetTxt 设置列表框的标题文本。
WM_CREATE 消息: 当窗口创建时被系统自动发送,列表框响应该消息创建列表框的数据结构。以及初始化必要的数据,
WM_DESTROY 消息: 当窗口被关闭时由系统自动发送至列表框,在其中释放掉创建时申请的动态数据。
WM_PAINT 画屏消息:菜单类响应这个刷屏消息时, 先判断屏幕是否需要更新,若需要更新则依次将菜单类的背景图,标题文本,选中条图标和菜单行显示到窗口。
WM_COMMAND 当菜单具有滚动条风格时,滚动条有变化会向菜单窗以command消息的形式发送EV_ScrollChange事件,菜单窗收到事件后重排菜单。
当菜单窗本身被键盘和触摸屏改变而重排时,也会通知滚动条重设百分比。
WM_ListChangeItem 动态修改弹出菜单的一个菜单项
四、使用示例:
//创建弹出菜单窗口
win = WindowCreate( win ,
WS_FULLSCREEN|WS_TICK,
1022,
320-113,240-113,
112,112,
SID_Txt_Listw,
BID_PicList0,
0,
NULL,
WinListProcMap,
NULL );
//添加菜单条目
WindowSendMessage(win,WM_ListAddItem,4,SampleMenu);
其运行结果如下:
另一种风格见下页:
弹出菜单的另一种风格:支持半透,右箭头等
福州瑞芯微电子有限公司
2007年8月
福州瑞芯微电子有限公司
lingzhaojun@ 第 3 页 QQ
您可能关注的文档
最近下载
- 研究院LNG冷能利用.ppt VIP
- [中央]2024年中国记协新闻培训中心招聘 笔试上岸试题历年典型考题及考点剖析附答案详解.docx
- (陶矜老师课件)股权设计与合伙人激励.pdf VIP
- if与unless专项练习.doc VIP
- 2023年北京市高考化学试卷(解析版).pdf VIP
- 有限空间作业安全管理监理实施细则(新).pdf VIP
- 直播电商与案例分析第10章 农产品直播解析.ppt VIP
- 2023款 R18 B 宝马摩托车 中文 用户保养手册 使用说明书.pdf VIP
- 2022年国家公务员考试《公安专业科目》题(网友回忆版).docx VIP
- USCAR38 超声波焊接技术标准和要求(中文版).pdf VIP
文档评论(0)