有朋友在我上一篇Blog里留言,说WTL 7.5已经支持VS.NET 2005开发Windows Mobile应用程序了。今天正好有空,所以就从http://sourceforge.net/projects/wtl/下载了一个WTL 7.5。我下载的版本是WTL 7.5.5160.0,发布日期是2005年6月9日。大家也可以下载一个,自己玩玩。
好了,废话少说,开始我们编写第一个Pocket PC上的WTL应用程序的旅程吧。我是在VPC下做开发的,开发环境是Windows Server 2003,Visual Studio 2005 Beta 2和WTL 7.5。
把下载文件解压后,拷贝到C盘根目录下。确认你的VS.NET 2005已经安装好了,并且没有处于运行状态。分别执行AppWiz和AppWizCE文件夹下的setup80.js。
安装完成后,重新打开VS.NET 2005。我们会发现在Visual C++节点下面会多出一个WTL的项目。我们选择WTL项目,里边会有两个项目,分别是WTL for Windows项目和WTL for CE项目。WTL for Windows项目在前边的文章里介绍过了,这次我们来写WTL for CE的应用程序。
选中项目,然后填写项目名称,点OK,进入项目生成向导。
第一个界面是欢迎界面,没什么可说的。
第二个界面用来选择开发平台,因为没有安装Windows Mobile 5的SDK,所以这里只有Windows Mobile 2003的两个选项可以选择。这里的设置和使用MFC开发Windows Mobile设备的向导是类似的。
第三个页面是选择应用程序的形态。第一组选项是选择主界面是单文档类型、多线程单文档类型还是对话框类型,我们默认选择SDI。下边的选项分别选择,是否使用Smartphone类型的菜单、是否只允许一个进程运行,是否成为ActiveX控件的宿主程序,是否创建为COM服务器等。我们选择默认形式。
最后一个界面也是选择视图窗体的类型,我们选择默认窗体。点击完成。
项目生成之后,我们看到的解决方案窗体中包括上面列出的文件,和WTL for Windows是大体类似的。类视图如下:
在打开资源视图时会碰到一个错误,报告一个.H头文件找不到。于是想起WTL还没有被加入到编译路径中。
我们选择Tool菜单下的Options菜单项。在Options对话框中我们选择”Projects and Solutions”下的”VC++ Directories”。在平台选项里选择”Pocket PC 2003”,显示目录里选择”Include files”,然后在下边的编译路径中添加WTL 7.5的Include目录就可以了。然后我们再把Smartphone 2003下的编译路径中加入WTL路径就可以了。
再次返回主界面,我们就可以正常查看资源视图了。
在查看完资源视图后,我们就可以编译并运行WTL程序了。我们选择Pocket PC 2003模拟器作为发布平台,点击运行。
上图是运行之后点击菜单之后的效果。大家可以看到,对话框还保留着一个X按钮,这和Pocket PC的风格是不相符的,但在WINCE下是允许的。
个人感觉,使用WTL开发Pocket PC上的应用程序并不比使用MFC来得复杂,可是WTL比MFC要小很多,而且不需要支持库。这些特性对于一些轻量级的应用程序开发是相当吸引人的。