频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Windows Mobile 5.0中为开发人员提供的新功能(5)

作者: Jim Wilson 出处:51CTO.com  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-01-24 14:24
关 键 词:Windows  Mobile  功能
阅读提示:本文从开发人员的观点来了解Windows Mobile版本5.0中的新增功能。它的具体内容包括:Windows Mobile 5.0 API、工具和技术和其他影响开发人员的Windows Mobile 5.0更改。

Pocket Outlook 增强功能

Pocket Outlook 向用户和应用程序开发人员提供了易于使用的 PIM。将 Pocket Outlook 集成到您的应用程序中可以同时使您的应用程序和它的用户获益。用户通过具有一致的 PIM 体验和数据获益,而无论他们是直接与 Pocket Outlook 交互,还是通过您的应用程序与其交互。应用程序通过有机会立即合并用户的完整 PIM 数据而获益。

为了进一步简化应用程序与 Pocket Outlook 交互的方式以及为应用程序提供合并更为丰富的 Pocket Outlook 交互的机会,Pocket Outlook 向本机和托管开发人员提供了多种新功能。

联系人选择对话框

正如它的名称所暗示的那样,联系人选择对话框使应用程序能够显示功能齐全的联系人选择对话框 — 就像 Pocket Outlook 显示一样。该对话框提供了可供用户选择整个联系人或单个联系人属性(如电话号码或电子邮件地址)的筛选功能。当该对话框显示时,用户可以直接选择联系人,或者可以输入联系人姓名的一部分,后者会自动筛选列表以便只显示匹配的姓名。该对话框还可以选择支持用户添加新联系人。本机开发人员可以通过 ChooseContact 函数使用联系人选择对话框;托管开发人员需要使用 ChooseContactDialog 类。

下面的示例演示了如何从 C++ 和 C# 中使用联系人选择对话框。在每个示例中,应用程序都显示限制用户选择现有联系人的对话框。为了使示例保持简单,应用程序随后在 MessageBox 中显示所选联系人的姓名。

下面的代码演示 C++ 中的联系人选择对话框。

#include // ... HRESULT hr = E_FAIL; CHOOSECONTACT cc = {0}; cc.cbSize = sizeof (cc); cc.dwFlags = CCF_RETURNCONTACTNAME | CCF_HIDENEW; // Display the contact selection dialog hr = ChooseContact(&cc); // Show the selected name MessageBox(NULL, cc.bstrContactName, TEXT("Selected Contact"), MB_OK); // Free memory SysFreeString(cc.bstrContactName);

下面的代码演示 C# 中的联系人选择对话框。

using Microsoft.WindowsMobile.PocketOutlook; using Microsoft.WindowsMobile.Forms; // ... ChooseContactDialogcontactDialog = new ChooseContactDialog(); contactDialog.HideNew = true; contactDialog.ShowDialog(); // Show the selected name MessageBox.Show(contactDialog.SelectedContactName, "Selected Contact");

图 3 说明了所显示的对话框。

3. 新的 ChooseContactDialog 联系人选择器类

事件通知

由于引入了事件通知,Windows Mobile 5.0 现在使应用程序可以比以往任何时候都更密切地与 Pocket Outlook 合作。通过事件通知,本机和托管应用程序都可以监视 Pocket Outlook 文件夹内部的成员添加、删除和修改。

要注册以接收这些通知,本机应用程序必须访问感兴趣的 Folder 对象上的 IItem 接口,然后调用 IItem.SetProp 方法以便将属性 PIMPR_FOLDERNOTIFICATION 设置为表 7 中的值之一。

表 7. Pocket Outlook 文件夹通知标志
通知标志 说明

PIMFOLDERNOTIFICATION_LOCAL

在从当前进程中进行更改时,向应用程序发送通知。

PIMFOLDERNOTIFICATION_REMOTE

在从其他进程中进行更改时,向应用程序发送通知。

PIMFOLDERNOTIFICATION_ALL

在从任何进程中进行更改时,向应用程序发送通知。

当更改发生时,消息被发送到在对 IPOutlookApp.Logon 的调用中注册的窗口。表 8 显示可能的消息。

表 8. Pocket Outlook 通知消息
通知消息 说明

PIM_ITEM_CREATED_LOCAL

该进程创建了一个 PIM 项。

PIM_ITEM_DELETED_LOCAL

该进程删除了一个 PIM 项。

PIM_ITEM_CHANGED_LOCAL

该进程更改了一个 PIM 项。

PIM_ITEM_CREATED_REMOTE

另一个进程创建了一个 PIM 项。

PIM_ITEM_DELETED_REMOTE

另一个进程删除了一个 PIM 项。

PIM_ITEM_CHANGED_REMOTE

另一个进程更改了一个 PIM 项。

托管应用程序使用标准委托机制来处理由 AppointmentCollectionContactCollectionTaskCollection 公开的 ListChanged 事件。借助于相应文件夹中的 Items 属性可以最为容易地访问这些集合。下面的示例演示如何注册委托以处理对约会集合所做的更改。

using Microsoft.WindowsMobile.PocketOutlook; // ... OutlookSessionsession = new OutlookSession(); session.Appointments.Items.ListChanged += new ListChangedEventHandler(Items_ListChanged); // ListChanged Event Handler void Items_ListChanged(object sender, ListChangedEventArgs eventArgs) { // Details of change are found in eventArgs }

除了跟踪对某个文件夹内的所有对象的更改以外,托管开发人员还可以获得有关对任何特定 AppointmentContactTask 所做更改的通知。这些类中的每个属性都具有相应的事件。例如,要获得有关对 AppointmentStart 属性所做更改的通知,请处理 Appointment.StartChanged 事件。要获得有关对 ContactBusinessTelephoneNumber 所做更改的通知,请处理 Contact.BusinessTelephoneNumberChanged 事件。

自定义属性

很多应用程序不仅使用 Pocket Outlook 提供的数据,而且还需要扩充标准 Pocket Outlook 对象模型以跟踪附加数据。过去,那些希望自己的应用程序这么做的开发人员必须显式管理扩充数据的存储及其与 Pocket Outlook 对象的相互关系。Windows Mobile 5.0 通过引入自定义属性消除了手动管理扩充内容的需要。

自定义属性使本机和托管应用程序都可以将自定义数据直接与 AppointmentContactTask 对象相关联。Pocket Outlook 自动将这一关联数据存储到它的可以通过相关联的 AppointmentContactTask 对象直接访问的数据存储区中。自定义属性可以是从简单类型(如 int)到复杂的自定义对象的任意类型。要访问自定义属性,本机应用程序开发人员可以使用 IItem.GetProps/IItem.SetProps;托管开发人员可以使用由 Appointment.PropertiesContact.PropertiesTask.Properties 公开的 PimPropertySet 属性。


共12页: 上一页 [1] [2] [3] [4] 5 [6] [7] [8] [9] [10] [11] [12] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看52473次)
·UML类图详解 (查看46951次)
·Java编程开发手册 (查看25172次)
·UML统一建模语言 (查看24155次)
·C#技术开发指南 (查看22515次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (251个好)
·PB开发教程 (209个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有