您的位置:首页 > 服装鞋帽 > 女装 > Microsoft Windows CE Visual Basic...

Microsoft Windows CE Visual Basic...

luyued 发布于 2011-03-26 19:18   浏览 N 次  

  Microsoft Corporation 1999 年 7 月 27 日

  摘要: 本文将引导您大致了解 Microsoft(R) Windows(R) CE Toolkit for Visual Basic(R) 6.0 的功能。您将学习如何创建一个简单的应用程序,这个应用程序将在传统的 Windows 桌面系统中完成设计,然后在 Windows CE 设备中执行。您还可以学习如何访问存储在 Windows NT(R) 服务器上 SQL Server(TM) 7.0 中的数据。 系统要求

  为了使演示得以进行,必须在机器中安装以下应用程序: Windows 95、Windows 98 或 Windows NT 4.0(带 Service Pack 3)。

  Windows CE Services 2.2 或更高版本。

  Microsoft Visual Basic 6.0。

  Windows CE Toolkit for Visual Basic 6.0。

  ADOCE (某些 Jupiter 级机器不需要)。

  另外,运行演示版时需要下列硬件: 用于运行上述软件的基本机器。

  Windows CE H/PC Pro(Jupiter 级)。

  本演示版在编写时使用了 Windows NT 4.0 配置(按照以下的说明进行安装)和 Sharp Mobilon Tripad H/PC Pro 机器。 入门

  设置操作系统及 Windows CE Services

  按照常规选择安装操作系统,再安装 Windows CE Services 2.2,然后安装所有其他软件。 Windows NT 4.0

  Windows NT Service Pack 3

  CE Services 2.2

  Windows NT Service Pack 4

  SQL Server 7.0

  Visual Basic 6.0

  Microsoft Windows CE Toolkit for Visual Basic 6.0

  设置数据库

  该指导教程需要使用 Microsoft Office Professional 或 Premium Editions 中的 Northwind 数据库,使用 Office 97 或 Office 2000 均可。要查找该数据库,请打开"查找"对话框(在 Windows"开始"菜单中依次单击"开始"、"查找"、"文件或文件夹")查找"Northwind.mdb",然后记下 Northwind 数据库的位置。

  

  图 1. 定位 Northwind.mdb 将数据库复制到 Windows CE 设备中

  使用 Windows CE Services 2.2,被复制到 Windows CE 设备的数据将自动与存在于 Access 文件或 SQL Server 中的"主"副本保持同步。

  为了从母计算机上将数据复制到 Windows CE 设备中,首先要建立合作关系,并连接到母计算机。如需获得有关此操作的详细信息,请参阅 Windows CE 设备的相关文档。

  建立连接之后,请启动 Windows 资源管理器,定位到"移动设备"图标,单击已连接的设备并导入所需的数据库表。 打开 Windows 资源管理器。

  定位到"移动设备"文件夹。

  单击已连接的设备,使其突出显示。

  选择"工具"菜单项,然后选择"导入数据库表..."菜单项。

  

  图 2. 从 Northwind.mdb 中导入表

  在出现的对话框中,选择你前面查找到的 Northwind Microsoft Access 数据库。数据库打开以后,将显示包含所有表的列表。选择这些表以后,信息将被复制到设备中,并且将保持同步关系。 只需要核对您希望在设备与母计算机之间保持同步的表。

  请按照下面的对话框更改数据库的位置。

  

  图 3. 更改数据库的位置

  要关闭数据库同步,只需取消选中"动态同步"选项对话框中的"表"即可(从"移动设备"文件夹中选择"工具",然后选择"动态同步选项...")。

  

  图 4. 关闭数据库同步 Windows CE Toolkit 的好处

  通过 Windows CE Toolkits,开发人员即可利用他们在职业生涯中所积累的编程知识,为一套全新的设备和硬件建立应用程序。Windows CE 是 Windows 开发的下一个前沿,它将使得软件商的软件开发进入到以前他们无法涉足的全新市场。

  利用在 Web TV 上运行的 Windows CE, 软件商可以为家庭消费市场开发软件,这个市场在使用传统个人计算机的时代根本不会存在。利用在 AutoPC 上运行的 Windows CE,开发商可以为销售员队伍、出差在外的主管人员或在路途上的顾客开发真正意义上的移动软件。利用在手持型 PC 上运行的 Windows CE,开发商可以在非传统计算机用户那里找到新的发展机遇,这些用户除了上面的好处之外,还希望实现简单化和易于管理化。此外,有了在掌上 PC 中运行的 Windows CE,编程人员就可以利用一种数据存取设备,该设备允许任何人在任何地点访问业务运转所需的信息。

  因为 Windows CE 开发与传统的 Windows 开发同样简单,所以对开发商来说,这些机会已经出现,所需的仅仅是增加一点培训。您的选择可以说是无限的,并且因为我们刚刚处于这个全新领域的开端,开发商可以全方位地安排应用程序的开发工作。Windows CE 的"杀手应用程序"至今仍未确定,因此,目前取得有利地位的开发商完全可以在决定什么是"杀手应用程序"的竞争中取得优势。

  该指导教程将帮助您创建一个完全由数据驱动的应用程序,该程序可以被复制到 Windows CE 设备中并执行。在这次演示中,我们将使用 Sharp Mobilon Tripad Handheld PC (H/PC) 专业版。事实上,可以使用任何 H/PC Pro。 开发 Windows CE 应用程序

  启动 Windows CE 工程

  在 Visual Basic 中建立 Windows CE 应用程序根本无须涉及任何特别的步骤。事实上,我们只需径直向前,即可创建一个新工程,并且看到它是什么样的。 在 Visual Basic 6.0 中,进入"文件"菜单并选择"新建工程"。

  您将会注意到在"新建工程"对话框中有多个选项可供选择。一些选项是 Windows CE 窗体,当创建 Visual Basic 应用程序时,您要做的仅仅是选择这些 Windows CE 窗体中的一个,拖放部件,象以前一样添加代码。实际上创建 Windows CE 设备的 Visual Basic 应用程序并没有多出任何新内容。所有这些窗体以及调试工具和类库,都由 Windows CE Toolkit for Visual Basic 6.0 进行安装。这个工具包实质上是 Visual Basic 环境的外接附件,因此,您需要安装 Visual Basic 6.0 专业版或更高版本。 在"新建"选项卡中选择"Windows CE HPC Pro 工程"模板。

  设置工程属性

  选择了模板之后,将出现工程属性对话框。在这个对话框中,针对工程在远程设备及模拟器上的执行方式和执行位置,您可以对所有信息进行指定。使用所有这些程序开发的基本元素(包括窗体的大小、工程的位置以及说明性元素),这个对话框可以帮助您直接进入程序设计开发的重要阶段。

  针对该示例的目的,请按照下面对话框中的指示设置工程的属性。 将窗体的宽度和高宽设置为 640 x 400。

  在"工程说明"字段中加入文字。

  将"远程路径"更改为"\NorthwindCustomer.vb"。

  将"更新部件"字段设为"总是"。

  

  图 5. 设置工程属性

  单击"确定"继续进行窗体设计。 设置工具箱

  在工程属性确定下来之后,将会出现 Visual Basic 窗体,允许您可视地设计应用程序。如下所示,您将从一个空白窗体开始进行操作。

  

  图 6. Visual Basic 窗体

  通过从系统库中导入,我们将在工具箱中包含 Windows CE 所特有的全部控件。 右键单击工具箱,并选择"部件..."

  在随后出现的对话框中,选择所有前面带有"Microsoft CE"字样的部件:

  

  图 7. 选择工具箱的部件

  现在,所有部件将显示在工具箱中,并且可以将它们从工具箱拖放到窗体上。 Windows CE 设计时应考虑的问题

  我们的应用程序是一个简单的记录查找窗体,它允许我们选择一个客户并收集关于这个客户的信息。设计这个窗体时,我们应时刻想到这个程序将在一个小型设备上运行,其屏幕相对较小(640 x 480 的分辨率)。而且,许多 H/PC Pro 机器都带有触摸屏,可以用笔针或手指触摸激活。因此,我们应该确保所有的字体大小都能够满足阅读的需要,所有按钮和滑块都要足够大,以便可以用笔针或手指进行操作。弄清你要为之设计程序的机器的特殊性是很重要的。 设计窗体

  窗体设计开始,首先请按照下面的演示在窗体上放置一个组合框。 将一个标签控件从工具箱拖动到窗体上。

  将一个组合框控件从工具箱拖动到窗体上。

  适当调整组合框及标签的位置。

  在组合框中设置"样式"属性,以便它显示"2 - 下拉列表"。

  在组合框中将"名称"属性设置为"comboCustomerName"。

  现在,我们将用标签及文本框控件来填充窗体的其余部分。 将标签及文本框控件从工具箱中拖放到窗体上。

  适当调整控件的位置。

  按如下所示设置文本框控件的"名称"属性。

  

  图 8. 设置文本框控件的名称属性

  在一些情况下,您可能希望使用附加的 Windows CE ActiveX(R) 控件来创建更复杂的用户界面。但是,并非传统的 Windows 桌面上的所有功能都能在 Wndows CE 操作系统中实现,了解到这一点很重要。 将文件列表框控件从工具箱中拖放到窗体上。

  将会出现下面的对话框:

  

  图 9. 不可用控件的消息

  正如您所看到的那样,如果一个控件在 Windows CE 操作系统中不能使用,Windows CE Toolkit for Visual Basic 6.0 可以告知您。因为 Windows CE 上的 Win32(R) API 是传统 Windows 桌面上的 Win32 API 的子集,所以,Windows CE Toolkit 能够告知您它所不支持的功能,从而为您提供了极大帮助。 用于 Windows CE ActiveX 控件的事件处理程序

  窗体设计完成之后,我们便需要设置一个事件处理程序,以便在选中一个新客户时,能够立即更新客户信息。而基于 Visual Basic 的 Windows CE 开发的优点之一就是:开发传统的 Windows 桌面与开发 Windows CE 应用程序之间几乎没有差别。

  如果要在组合框中加入事件处理程序,请转到代码编辑器,在"对象"下拉列表中选择"comboCustomerName",在"过程"下拉列表中选择"click"。Visual Basic 将自动使您跳转到 Visual Basic 代码编辑器的 comboCustomerName_Click 函数中:

  

  图 10. 添加事件处理程序 添加数据访问代码

  借助于 Windows CE 和 ActiveX Data Objects for CE (ADOCE),Windows CE 设备能够包含一个远程 ODBC 数据源的本地副本。在 Windows CE 设备连接到"母"计算机之后,数据库表能够自动同步。数据库服务器中的新信息将自动复制到 CE 设备的本地存储区,而 CE 设备中所有更改的信息将上载到数据库服务器。得益于 Windows CE 设备中对管理功能的显著简化,这是一个适合于特定任务的完美解决方案。 导入 ADO 功能

  ADOCE 功能可以在一个由 Windows CE Toolkit 安装的独立库中找到。要将该库导入到当前的工程中,请转到"工程"然后是"首选项"菜单,并且查找"Microsoft CE ADO Control"部件。 进入"工程"然后是"首选项"菜单。

  选择 "Microsoft CE ADO Control (ADOCE) 2.0"。

  

  图 11. 导入 ADOCE 功能 设置数据访问

  传统 Windows 桌面与 Windows CE 设备程序开发的编程模式也是非常相象。我们已经看到,创建基于 Visual Basic 窗体的应用程序基本上不需要进行额外训练。同样地,为 Windows CE 开发 ADO 应用程序并不比编制桌面应用程序困难。

  我们必须首先增加一些全局变量。前两个是字符串,一个是我们将在数据库上执行的 SQL 语句,另一个是数据库在设备本身的物理位置。

  

  添加全局变量之后,我们还需要建立一个代表我们要操纵的记录集的全局变量。请添加如下代码行:

  

  请注意,Visual Basic 的 IntelliSense(R) 技术将继续有效,甚至在建立 Windows CE 工程时。这是因为 Windows CE Toolkit 是传统 Visual Basic 产品的附属软件,当您在为 Windows CE 开发应用程序时,将能够利用世界上最为流行的开发环境的所有功能。

  

  图 12. 设置数据访问 打开数据库

  数据库的打开过程如同在桌面开发环境中一样简单。首先,我们需要创建 Form_Load() 函数。您可以为此函数手写代码,也可以进入"对象"下拉列表中选择"窗体"。

  建立 Form_Load() 函数之后,通过在函数中增加下列几行代码,即可分配 Recordset(记录集)对象:

  

  我们将立刻创建 FillCustomers 函数,用以在组合框控件中填充数据。

  现在,为了从中提取信息,我们将打开 Recordset 本身。请在 Form_Load() 函数中加入下列新代码:

  

  Recordset 对象的 Open 方法接受 5 个参数:SQL 字符串(我们已经声明为常量)、数据库的名称及位置(我们已经声明为常量)以及代表读/写能力等的 3 个整型数。关于 ADO"打开"命令的详细信息,请参考 ADO for Windows CE 的文档。 填充组合框

  我们需要创建一个 FillCustomers 函数,该函数将被 Form_Load() 子过程调用。FillCustomers 函数负责遍历 Customers 表中的各行,提取相应信息,并将其置于 comboCustomerName 下拉列表中。

  在 FillCustomers 函数中要做的第一件事是移动到 Recordset 的第一个元素。下一步,我们要建立一个 While 循环,帮助我们以文件末尾状态为条件遍历 Recordset:

  

  在这个 While 循环中,我们需要将客户名添加到组合框,并移动到 Recordset 的下一行:

  

  响应 ComboBox 事件

  一旦组合框中的客户名被选中,将自动调用"click"子过程。在"changed"子过程中,我们需要在 Recordset 中搜索在组合框中被选中的名称。找到包含该名称的记录之后,我们可以利用行中的其他数据填充窗体的剩余部分。

  首先,我们需要移动到 Recordset 中的第一项。然后,我们必须再次创建一个 while 循环,并添加一些代码,以便搜索表中特定的姓名。找到姓名之后,我们应该跳出循环语句,否则,我们将继续执行循环语句。

  

  更新文字字段

  要完成该应用程序,我们必须添加一些代码,以便用 Customers 表中的相应数据更新文字字段。在 comboCustomerName_Click 函数的循环结束之后,我们需要添加以下四行代码: textAddress.Text = rsCustomers.Fields("Address").Value textCity.Text = rsCustomers.Fields("City").Value textState.Text = rsCustomers.Fields("Region").Value textZIP.Text = rsCustomers.Fields("PostalCode").Value

  部署 Windows CE 应用程序

  在我们完成对 Windows CE 应用程序的开发之后,我们必须将其复制到远程设备并执行。有了 Windows CE Toolkit for Visual Basic 6.0,部署 Windows CE 应用程序会非常容易,只需按下"开始"按钮即可。Toolkit 会将应用程序(当然还有所需的任何 DLL,如 Tab Strip 控件或其他部分)自动复制到设备中。另外,它还将在设备中为我们启动应用程序。 运行应用程序

  按下 Visual Basic 主菜单上的"开始"按钮。 按下"开始"按钮。

  操作完成之后,将自动复制那些必须安装到设备上的 Visual Basic 运行时部件、必要的 DLL 以及任何控件。

  这一过程完成之后,会复制应用程序本身。

  应用程序应当在设备中自动启动。 使用 Windows CE 附件

  与 Windows CE Toolkits 一同安装的一些 Windows CE 工具有助于您进行 Windows CE 软件的开发。例如,使用 Windows CE Remote Zoomin 应用程序,您可以抓取运行在远程设备上的应用程序的屏幕图片。

  

  图 13. Windows CE Remote Zoomin 调试 Windows CE 应用程序

  选择"调试"菜单中的"转到"条目,可以启动 Windows CE Toolkit for Visual Basic 6.0 中的调试程序。 从主菜单中选择"调试",然后是"转到"。

  (如果您的浏览器不支持inline frames,请点击这里在单独的页面观看此图)

  图14. 启动调试程序 Windows CE Toolkit for Visual Basic 6.0 调试程序

  调试程序是一个独立程序,选择"转到"菜单命令能够启动该程序。在调试程序中您能设置断点,将变量拖动到跟踪窗口,检查调用堆栈并进行其他操作。

  

  图15. 调试程序内部结构 设置断点

  为了设置断点,您需要查看在调试应用程序内的代码。这个版本中,在 Visual Basic 代码编辑器内设置断点不会影响 Windows CE 调试程序的操作。 打开 Visual Basic Forms 的"Form1"节点。

  双击 comboCustomerName_Click 条目。

  代码编辑器将自动启动。

  在上面图片中,单击突出显示的直线旁边的编辑器装订线。

  更复杂的用户界面任务

  用于用户界面设计的 ActiveX 控件还有几个,包括选项卡控件、滚动条、图片框、树型控件等。如果要使用这些控件,只需将它们从工具箱中拖放到窗体中即可。 创建使用选项卡的页

  如果要应用 TabStrip 控件,您需要创建独立的无边框的框架控件。当选择了一个特定的选项卡后,您需要隐藏除对应于所选选项卡的框架控件以外的所有框架控件。 设置 TabStrip 控件

  举例来说,假如我们要拖放一个 TabStrip 控件,并向该控件添加三个选项卡:"New Order"、"Order History"和"Web",我们就必须添加相应的三个框架控件:fraNewOrder、fraOrderHistory 和 fraWeb。 将一个 TabStrip 控件拖放至窗体内,如下图所示:

  

  图16. 将一个 TabStrip 控件拖动至窗体内 右键单击 TabStrip 控件并选择"属性"

  添加三个选项卡,并分别命名为"New Order"、"Order History"和"Web"

  

  图17. 在控件中添加选项卡 创建使用选项卡的页

  现在您需要将一些框架控件拖放到窗体,去掉其边框,并将它们定位于选项卡控件中。 将框架控件拖放到窗体。请确保将其放到窗体上,而不是其他框架控件上。

  进入框架控件的属性页,并将其 BorderStyle 属性设置为"0 None"。

  如下图所示调整框架控件大小:

  

  图18. 调整框架控件的大小 将框架控件命名为"fraNewOrder"。

  重复两次操作,将其他两个控件命名为"fraOrderHistory"和"fraWeb"。

  您可以将控件拖放到某个单独的框架控件。该控件将变为框架控件的"子控件",因此,只要框架控件不显示,那么置于其中的该控件也将被隐藏。要选用特定的框架,只需要转到属性页,并在控件下拉列表中选中它即可。

  

  图19. 选择框架

  因为所有的框架都是相互重叠的,您需要使用"顺序"菜单项(作为"格式"菜单的一部分显示在下图中)将框架置前,以便拖放控件。

  

  图20. 将框架置前 设置选项卡事件

  现在,我们已经将框架拖动到窗体上,我们还需要设置逻辑,以便选定一个特定的选项卡后,能显示适当的框架控件。我们要进行的所有操作就是在 TabStrip 控件的 Click 方法中添加进一些代码,以便确定所选择的选项卡,并显示正确的框架控件。 转到代码编辑器并从"对象"下拉列表中选择"TabStrip1"。

  将自动为您创建 TabStrip1_Click 方法。

  在函数开始时添加下述代码以便隐藏全部框架控件:

  

  添加下述代码,以便解析 TabStrip 控件的 Click 事件:

  

  现在针对每个 If 语句,将显示正确的框架控件:

  

  CommandBar 控件

  Windows CE 引入了一种全新的用户界面元素,名叫命令栏 (CommandBar)。命令栏是一个特殊的菜单栏,其中不仅有传统的菜单项,而且还有命令按钮和组合框。命令栏控件取代了窗体的主标题栏。 使用 CommandBar 控件

  因为 CommandBar 控件取代了窗体的标题栏,我们应该从窗体中删除所有的边框。然后,只需将 CommandBar 控件拖动到窗体即可。控件可以置于窗体的任何位置,但当应用程序运行时,CommandBar 将在窗体中成为新的标题栏。 选择主窗体。

  转到属性页并将其"边框"属性设置为"0 - None"。

  将 CommandBar 控件拖放到窗体中。

  

  图 21. 将 CommandBar 控件拖放到窗体中 转到 Form_Load 函数,并添加一行设置 CommandBar 控件宽度的代码:

  

  向 CommandBar 控件添加元素

  请使用 CommandBar 控件集合中的 Add 方法,为 CommandBar 添加控件。向 CommandBar 控件添加成员控件后,CommandBar 会以生成事件的方式响应用户的输入。CommandBar 控件会对每一类型的成员控件生成一个特定事件。举个例子,当一个用户选择了任一 CommandBarButton 对象,控件将启动 ButtonClick 事件。因此,您必须对事件进行编码,以决定用户选择的是哪个特定的 CommandBarButton 对象。

  您可以在 CommandBar 控件中添加下列类型的对象: CommandBarButton

  CommandBarComboBox

  CommandBarMenuBar

  例如,在 CommandBar 控件中添加菜单要进行的操作是:首先创建 CommandBarMenuBar 对象,再将其添加到 CommandBar 控件的控件集合。

  

  然后,再添加实际菜单就非常简单了,您只需创建菜单对象,然后在其中添加元素即可。

  

  您可以在 Windows CE Toolkit for Visual Basic 6.0 的文档中找到更多有关应用 CommandBar 控件的示例代码。 处理 CommandBar 事件

  单独的菜单项没有特定的事件处理程序。您必须应用 CommandBar 控件的 MenuClick 事件处理程序,并对相应子菜单项的 Key 属性进行解析。

  

  摘要

  使用 Windows CE Toolkit for Visual Basic 6.0,您就能够利用世界上最为流行的开发工具,并应用现有的经验和技能,为下一代的计算设备编制和配备功能强大的应用程序。 类别:[转]windows ce

图文资讯
广告赞助商