Windows Mobile 今日插件开发

Windows Mobile 今日插件开发

一、概述 

Windows Mobile今日插件,主要是用C++VC++实现的。在microsoftmsdn上有关于今日插件的开发样例,该样例其实是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文件里包含三个文件,分别是ChrisTecdll、框架包cab及样例cab文件。

ManagedTodayScrenItem-src-Alpha2.zip文件是ChrisTec源代码文件夹,里面包含dll、框架包cab及样例包cab工程。

2、创建今日插件工程

打开vs2005vs2008没有测试过),选择“新建->项目->智能设备->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类引用该dllusing 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”。

 

       编译TodayTodayTest工程,生成TodayTest.cab安装包。

5、安装ChrisTec.WindowsMobile.TodayScreen-Framework.CABTodayTest.cab

       1)将ChrisTec.WindowsMobile.TodayScreen-Framework.CABTodayTest.cab包拷贝到真机或模拟器上;

2)安装ChrisTec.WindowsMobile.TodayScreen-Framework.CAB

3)安装TodayTest.cab

4)重置模拟器或真机。

本样例在模拟器上的显示结果如下图所示:

 

 

6、结论

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

 

          

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

 

7、参考资料

1http://www.christec.co.nz/blog/archives/279;

2http://hi.baidu.com/ny_dsc/blog/item/0add58559cdac950d00906f8.html;

3http://topic.csdn.net/u/20070610/09/33ccbf4c-b841-488b-be70-0824e2e1935b.html;

4http://managedtodayscreen.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=10947

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值