您的位置:首页 > 其它

Windows Mobile 今日插件开发

2009-04-14 17:51 246 查看

Windows Mobile 今日插件开发

一、概述
Windows Mobile今日插件,主要是用C++或VC++实现的。在microsoft的msdn上有关于今日插件的开发样例,该样例其实是CF调用C++写的类,通过网页来实现的。
有以下几个缺点:
1. 不能把今日插件设置成透明的;
2. 控件定位十分困难;
3. 部署的时候比较麻烦。
该样例代码可到:http://msdn2.microsoft.com/en-us/library/ms839442.aspx下载。
本文主要介绍ChrisTec今日插件,该插件用C#语言实现。该插件特点是开发简单,仅仅开发出一个自定义用户控件就可实现。下面将介绍如何通过该插件实现今日提醒。
二、开发环境
vs2005+windows mobile6.0。
三、开发步骤
1、下载ChrisTec今日插件框架包
该插件的下载地址:
http://managedtodayscreen.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=10947
ManagedTodayScreenItem-Alpha2.zip文件里包含三个文件,分别是ChrisTec的dll、框架包cab及样例cab文件。
ManagedTodayScrenItem-src-Alpha2.zip文件是ChrisTec源代码文件夹,里面包含dll、框架包cab及样例包cab工程。
2、创建今日插件工程
打开vs2005(vs2008没有测试过),选择“新建->项目->智能设备->WM6->control library”,输入工程名“Today”,点击“确定”按钮创建工程,如下图所示。



3、创建今日插件用户控件
1)在初始化方法InitializeComponent()里,
修改用户控件大小:this.Size = new System.Drawing.Size(240, 20);
添加重绘事件:
this.Paint += new System.Windows.Forms.PaintEventHandler(this.UserControl1_Paint);
2)添加资源文件
右击“Today”工程,选择“添加->新建项->资源文件”,输入资源文件名称“Resource”,创建完毕后,双击“Resouce”,添加图像文件“search”。
3)在UserControl1类里
添加UserControl1_Paint重绘方法:
private void CurrentTimeCtl_Paint(object sender, PaintEventArgs e)
{
Graphics graphics = e.Graphics;
using (Brush brush = new SolidBrush(Color.White))
{
// Resource.search是一个待显示的bmp图像,定义在Resource资源文件里
graphics.DrawImage(Resource.search, 3, 3);

//text待显示的文件
graphics.DrawString(text, Font, brush, textRect);
}
}
添加鼠标点击事件方法:
protected override void OnMouseUp(MouseEventArgs e)
{
//base.OnMouseUp(e);
Point pt = new Point(e.X, e.Y);
if (this.ClientRectangle.Contains(pt))
{
MessageBox.Show("今日插件测试");
}
Invalidate();
}
4)添加引用及注解
添加“Christec.WindowsMobile.TodayScreen.dll”引用:
在UserControl1类引用该dll:using ChrisTec.WindowsMobile.TodayScreen;
添加注解:
在UserControl1类定义上面定义注解,该注解与dll文件定义的TodayScreenItem相对应,该注解不可缺少。
[TodayScreenItem ("UserControl1")]
public partial class UserControl1 : UserControl
{
}
4、创建今日插件cab工程
1)给Today工程创建cab工程,输入工程名“TodayTest”

2)添加输出
右击“TodayTest”工程,选择“添加->项目输出”,在弹出的“添加项目输出组”里,选择“主输出”,点击“确定”按钮。
3)给主输出添加文件夹

双击“主输出来自Today(活动)”选项.在弹出的选项卡里添加文件目录“%CE1%/Managed Today Screen Framework”,该文件目录与ChrisTec框架cab包的安装目录保持一直。
4)给Managed Today Screen Framework文件夹添加文件
添加文件:ChrisTec.WindowsMobile.TodayScreen.dll;

5)修改主输出文件目录
右击“主输出来自Today(活动)”选项,选择“属性”,在属性的Folder选项里,选择“Managed Today Screen Framework”。

编译Today及TodayTest工程,生成TodayTest.cab安装包。
5、安装ChrisTec.WindowsMobile.TodayScreen-Framework.CAB和TodayTest.cab
1)将ChrisTec.WindowsMobile.TodayScreen-Framework.CAB和TodayTest.cab包拷贝到真机或模拟器上;
2)安装ChrisTec.WindowsMobile.TodayScreen-Framework.CAB;
3)安装TodayTest.cab;
4)重置模拟器或真机。
本样例在模拟器上的显示结果如下图所示:

6、结论
本文主要介绍今日插件的简单用法,有错误的地方,请指正。另外,本文样例仅仅是在模拟器上经过验证,在真机上没验证。在模拟器上的结果图:



源代码下载地址:http://download.csdn.net/source/1210620

7、参考资料
1)http://www.christec.co.nz/blog/archives/279;
2)http://hi.baidu.com/ny_dsc/blog/item/0add58559cdac950d00906f8.html;
3)http://topic.csdn.net/u/20070610/09/33ccbf4c-b841-488b-be70-0824e2e1935b.html;
4)http://managedtodayscreen.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=10947
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: