- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
brew培训8-buiw 窗口
BUIW –窗口 李黄园 buiw是一个界面开发包,对开发UI界面做了封装,按大部分需求界面来封装对象,以便快速开发出漂亮的界面。 1.BUIW窗口系统基本概念 与Windows窗口概念及对应的对象BREW窗口系统含有以下概念: 1)窗口(Form) - 程序就是一系列窗口的集合; 2)根窗口(RootForm) - 窗口管理器; 3)控件(Widget) - 提供用户交互的基本图形元素; 4)容器(Container) - 控件管理器; 5)数据模型(Model) - 存储程序数据。 窗口习惯就是一个屏幕的显示,封装起来便于开发界面。窗口内可以放多个控件,或容器,容器中可以布局多个控件,这样就组合成一个多样的窗口。 程序由一系列窗口组成,他们由根窗口统一管理; 窗口由呈树型连接的控件组成,放在容器中; 窗口激活时,根窗口为激活窗口创建了标题、软键和背景控件,放入根容器,同时接管该窗口的容器。 2.Buiw环境配置: 拷贝以下BUIW的支持文件到你应用程序同级目录下 dir/widget.mifdir/widget/widget.dlldir/forms.mifdir/forms/forms.dlldir/myapp.mifdir/myapp/myapp.dll 经过以上的配置,就可以正常运行用BUIW写的应用程序了 3.根窗口(Root form): 根窗口负责管理系统区(除客户区外)的显示和行为,由标题、背景、 软键等组成,同时又负责窗口的激活、显示顺序和事件发送的方向, 及维护堆栈和改变程序的外观(Theme,也称为主题)。根窗口并不是一 个真正的窗口。 每个应用程序只含有一个根窗口,但是可以含有多个窗口。应用程序管 理器也不例外。 窗口又封装在向量数据模型中,数据变化时会通知根窗口。 一个应用程序启动时创建一个根窗口,关闭时根窗口被销毁。 4.根窗口和窗口的所属关系: 根窗口窗口从属于根窗口,由根窗口统一管理。根窗口也是一个窗口, 是空白的窗口,同事也充当窗口管理器。 5.根窗口的激活(Activation)和拟制(Deactivation)功能: 窗口的激活和拟制功能就是保证程序间的无缝切换。 先来看程序切换的概念: 程序挂起(Suspend):暂时停止程序的运行; 程序恢复(Resume):从程序原先停止的地方继续向下运行。 如果程序要想在挂起之后,恢复时还原成原来的界面,必须响应 EVT_APP_SUSPEND和EVT_APP_RESUME事件,同时调用根窗口的激活 和拟制功能。不过,不用每个窗口都做处理,只需在程序最上层事件处理函 数处理一次就可以了,各窗口不必再理会,使用起来很方便。有点类似中断, 但保存场景和回复需要每个应用自己处理,brew只给出切换机制。 比如说正在输入短信,这时来了电话,电话接完了,必须回到短信编辑界面。 示例程序如下: static boolean APPLET_HandleEvent(Part2* pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam) { ? switch (eCode) { // App is told it is starting up case EVT_APP_START? return(TRUE);? // App is told it is exiting case EVT_APP_STOP return(TRUE);? // App is being suspended case EVT_APP_SUSPEND: IROOTFORM_Deactivate(pMe-rootForm); return(TRUE); // App is being resumed case EVT_APP_RESUME: IROOTFORM_Activate(pMe-rootForm); return(TRUE); // A key was pressed. Look at the wParam above to see which key was pressed. The key codes are in AEEVCodes.h. Example AVK_1 means that the 1 key was pressed. case EVT_KEY:
您可能关注的文档
最近下载
- 一种电子级硝酸的制备方法.pdf VIP
- 招标文件评分要点深度分析.docx VIP
- 电力行业集团数字化转型信息化战略规划方案.docx
- 作风建设学习教育单位自查清单(28个问题方面)+领导干部作风建设学习教育查摆问题清单(五个方面共15条).docx VIP
- 2024江苏省数据集团有限公司招聘试题及答案解析.docx
- FlyWan双口USB打印服务器安装方法.doc VIP
- 2023年03月六级真题全3套.pdf VIP
- 2024年初三中考第一次模拟考试试题:地理(安徽卷)(考试版A3).docx VIP
- 天津市部分区2022-2023学年三年级下学期语文期末试卷.pdf VIP
- 高铁客运服务案例分析报告.docx VIP
文档评论(0)