VAF使用手册.docx

上传人:hw****26 文档编号:2421136 上传时间:2019-05-12 格式:DOCX 页数:13 大小:396.55KB
下载 相关 举报
VAF使用手册.docx_第1页
第1页 / 共13页
VAF使用手册.docx_第2页
第2页 / 共13页
VAF使用手册.docx_第3页
第3页 / 共13页
VAF使用手册.docx_第4页
第4页 / 共13页
VAF使用手册.docx_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、AVOGINS VAF使用手册 AppDev 1 VAF 使用手册 AVOGINS VAF使用手册 AppDev 2 版本 作者 最后修订日期 V0.1 JACK 2010-10-24 AVOGINS VAF使用手册 AppDev 3 目录 VAF 概述 . 4 VRE 简介 . 4 VAF简介 . 4 VAF优点 . 4 VAF缺点 . 4 VAF 使用 . 4 VAF结构 . 4 UI结构 . 5 UE 体验 . 5 VAF开始 . 6 入口 . 6 窗口的使用 . 10 AVOGINS VAF使用手册 AppDev 4 VAF概述 VRE简介 (请参阅 VRE 文档 ) VAF简介 VA

2、F全称 VRE Application Framework,它是一个基于 VRE 平台的应用程序开发框架,提供了一套完整的应用程序开发框架的方案,包括窗体、控件等属性,还有在不断完善的 class和 api,可以说用 VAF进行开发普通的应用程序可以让开发者事半功倍,开发效率明显提高,如果开发者拥有类似 MFC、 .net开发的经验,那会很容易上手。 VAF优点 1. VAF 能够帮助开发者提高应用软件的开发效率。 2. VAF 能够提高应用程序 UI和 UE 体验。 3. VAF 使用起来极其方便,提供了很多有用的功能和接口,我们内部开发了一个非常强大的基类,从这 个基类扩展出窗口基类和控件

3、基类,从而开发者可以使用这个控件基类开发出任何自己想要样式的控件。我们使用窗口管理系统方便的管理窗口的调度、显示、隐藏、销毁,同样的也有控件管理器管理控件。 VAF缺点 1. 不支持控件本身加入控件,简短来说就是控件的嵌套,目前我们采用消息的传递来使控件交互。 VAF使用 VAF结构 VAF是基于 C+开发,使用了类、继承、重载。 VAF的消息处理是即时处理,没有消息队列,一旦收到 VRE 发过来的消息会立即处理。 VAF的 框架构成 :1. Core 部分, 2. Windows管理器部分, 3. Windows, 4. Controls 管理器部分, 5. Controls, 6. 一些其

4、他的部分。 VAF的扩展性和通用性是由窗口基类和控件基类决定的,由于设计当初对于基类功能的定义比较详细,所以扩展性和通用性相对来说也很强大。 VAF的大致流程可以用下图来解释一下: AVOGINS VAF使用手册 AppDev 5 UI结构 如图, UiBase 是基类,由它扩展出 UiControl(控件基类 )和 UiWindow(窗口基类 )出来,再由UiControl扩展出具体的控件类,由 UiWindow扩展出具体的窗体类。当然开发者也可以再从具体的控件类或 者窗口类进行二次开发出新的控件类或者窗口类。 UE体验 VAF 的 UE 有拖拽,漂亮的外观,放弃了滚动条的拖动,摒弃了弹出菜

5、单取而代之的就是全屏的菜单,所有的目的都是为了增强对于触摸屏用户的体验。详情请使用后便知。 AVOGINS VAF使用手册 AppDev 6 VAF开始 入口 首先先建立好 VRE 工程,例如新建的工程叫 HelloWorld,如图: 因为 VAF是使用 C+开发的,所以需要把文件原来是 .c 的要改成 .cpp, .h 文件没什么需要可以直接删掉,就一个 .cpp 就好了,然后把 HelloWorld.cpp 里的内容全部删光,然后贴上这段代码: #include “././vaf/vaf/vaf_include.h“ void vm_main(void) vaf_core_init(ENA

6、BLE_DEBUG); /UNABLE_DEBUG vm_reg_sysevt_callback(vaf_handle_sysevt); vm_reg_keyboard_callback(vaf_handle_keyevt); vm_reg_pen_callback(vaf_handle_penevt); 此时你的 App 的所有事件消息就完全由 VAF 接管了,但是此时你还做不了什么,运行起来什么也没什么,此时我们需要注册一个 App 在 VAF 的入口,先解释一下上面那段话的意思: vaf_core_init(ENABLE_DEBUG); /UNABLE_DEBUG 这句是 vaf 的内核

7、部分初始化,参数 ENABLE_DEBUG 和 UNABLE_DEBUG 分别是打开和关闭vaf.log,打开后 vaf.log 会存放在根目录下 (如果有存储卡,就在存储卡 ),打开后在程序中使用 vaf_debug可以输出 log, 用法和 printf 一样。 vm_reg_sysevt_callback(vaf_handle_sysevt); vm_reg_keyboard_callback(vaf_handle_keyevt); vm_reg_pen_callback(vaf_handle_penevt); 以上三句就是把系统消息都注册给 vaf,由 vaf 接管。 下面我来讲下 V

8、AF对于 App 的入口怎么来,请看以下代码: AVOGINS VAF使用手册 AppDev 7 #include “vaf/vaf_include.h“ void vaf_entry(void) void vm_main(void) vaf_core_init(UNABLE_DEBUG); vm_reg_sysevt_callback(vaf_handle_sysevt); vm_reg_keyboard_callback(vaf_handle_keyevt); vm_reg_pen_callback(vaf_handle_penevt); vaf_register_app_entry(va

9、f_entry); 看了以上代码应该知道怎么弄了伐,我就不细说了。 不过此时还不能编译通过。我们需要把 vaf 的库加进来。 先说模拟器,首先先把 vaf_simulator_lib.lib 拷贝到 HelloWorld 根目录下,然后请看图: 如图然后点 OK即可。 手机上 Arm编译的库的添加方式,如图: AVOGINS VAF使用手册 AppDev 8 把 vaf_lib.a拷贝到 HelloWorld 根目录 AVOGINS VAF使用手册 AppDev 9 点 OK 即可,不过还是编译不过,我们需要把 vaf 的头文件加进来,先把 vaf 文件夹都复制到 HelloWorld 根目录

10、下,然后把在 HelloWorld 工程没目录下新建一个文件夹 vaf,然后把头文件都添加进去,如图: AVOGINS VAF使用手册 AppDev 10 别忘记这个时候我们需要点一下 VC6 保存所有 (Save all)的按钮,然后试试不管是 vc 编译还是 arm 编译都没问题了, HelloWorld.vxp 出现了,第一步成功了。 (如果编译不过,貌似是vmmedia.h 这个头文件找不到,请把 #include “vmmedia.h”这句话注释掉即可 ) 窗口 和控件 的使用 窗口基类是 UiWindow, 控件的基类是 UiControl, 用之前我希望大家能先看一下 。 首先我们先把 controls 和我 windows加入到工程里如图:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。