您的位置:软件 > 开发者网络 > 开发工具 > 移动开发 > 正文
为Pocket PC上的IE创建ActiveX控件
[文章信息]
作者:
时间:2002-08-19
出处:Microsoft
责任编辑:
[文章导读]
ActiveX控件是使用COM(组件对象模型)技术创建的一个用户界面组件。ActiveX控件具有体积小、速度快和功能强大的特点.......
advertisement
热点推荐
· 专业设计的魅力:精确的定位
· 在金山文字中输入文字
· 认识磁盘
· 小小的精彩Flash:广告作品
· 小小的精彩Flash:过关斩将II
[正文]

1 2 3  下一页

  简介

  ActiveX控件是使用COM(组件对象模型)技术创建的一个用户界面组件。ActiveX控件具有体积小、速度快和功能强大的特点,并且可以简化集成和重用软件组件的工作。本文讨论了如何为Pocket PC上的Pocket Internet Explorer创建ActiveX控件,同时还描述了如何在基于Pocket Internet Explorer的应用程序中使用ActiveX控件。

  在由Windows驱动的设备上开发和使用ActiveX控件时需要以下软件:

  1. Microsoft eMbedded Visual C++ 3.0
  2. Microsoft Windows CE Platform Software Development Kit(SDK)for Pocket PC
  3. Microsoft Windows CE Services 2.2或更高的版本

  Visual C++开发系统提供了三种为基于Windows CE设备建立ActiveX控件的方法:

  自动化程度最低的方法就是不使用编程框架编写控件,而使用标准Windows CE OLE应用编程接口(API)。

  用Active Template Library(ATL)for Windows CE,我们强烈建立这一方法,因为它可以得到体积更小、速度更快的控件。

  使用Microsoft Foundation Classes(MFC)for Windows CE也是可行的,但不在本文的讨论范围之内。
  在本文中,我们将重点讨论如何使用ATL for Windows CE为Pocket Internet Explorer开发小型、轻量的控件。

  利用ATL实现ActiveX控件

  使用eMbedded Visual C++创建基于ATL的ActiveX控件非常简单。只需运行eMbedded Visual C++,并使用ATL COM AppWizard创建一个新工程。ATL COM AppWizard将为您的ActiveX控件创建一个好的起点。

  然后,您需要向该工程内添加COM对象。只需从菜单中选择Insert/New ATL Object(插入/新建ATL对象),然后选择Simple Object(简单对象),最后为您的ActiveX对象命名。

  这就行了!您刚刚已经创建了一个Pocket Internet Explorer ActiveX控件!尽管它并不执行任何操作,但这一控件的确可以在Pocket Internet Explorer上加载。

  让我们研究一下如何向该ActiveX控件添加一些功能。

  添加用户界面

  使用ATL向这一ActiveX控件“骨架”添加UI非常简单,只需添加两个已由ATL定义的实现方式,然后绘出您的对象即可。

  向ActiveX对象添加以下实现方式将把ActiveX对象定义为控件,同时定义了一个界面,该界面允许对象直接显示自身,而无需向调用程序(IViewObject)传输数据对象。此外,IViewObject接口可以创建和管理与通知接受器的连接,让调用程序获取控件改变的通知。

CComControl<CAXSampleCtl>
IViewObjectExImpl<CAXSampleCtl>

  在向ActiveX控件添加了这两个实现方式后,您可以覆盖该对象刚刚继承的CComControl实现的OnDraw()方法。

  在本例中,ActiveX控件将在分配给该控件的客户窗口区中绘制4个圆(稍后我们将看到如何创建指定宽度和高度的控件)。 HRESULT CAXSampleCtl::OnDraw

HRESULT CAXSampleCtl::OnDraw

  ATL_DRAWINFO & di

{
  RECT rc = *((RECT*)di.prcBounds);
  HDC hdc = di.hdcDraw;

  Ellipse(hdc, 0, 0, (rc.right / 2), (rc.bottom / 2));
  Ellipse(hdc, (rc.right / 2), 0, rc.right, (rc.bottom / 2));
  Ellipse(hdc, 0, (rc.bottom / 2), (rc.right / 2), rc.bottom);
  Ellipse(hdc, (rc.right / 2), (rc.bottom / 2), rc.right, rc.bottom);

  return S_OK;
}

  OnDraw()函数负责为控件创建UI(用户界面)。


1 2 3  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载


发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • [配置推荐]4100元高性价比配置
  • 软件频道电脑应用多媒体教程
  • 专业设计的魅力:精确的定位
  • 在金山文字中输入文字
  • 认识磁盘
  • 小小的精彩Flash:广告作品
  • 小小的精彩Flash:过关斩将II
  • 11.19精选 闪客五周年作品展
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索