Windows Mobile 今日插件开发

http://blog.csdn.net/doubleblue/archive/2009/04/14/4073618.aspx

 

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值