• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用ActiveX

发布: 2007-7-04 20:47 | 作者: admin | 来源:  网友评论 | 查看: 20次 | 进入软件测试论坛讨论

领测软件测试网 李隽

  什么是ActiveX?一句话,ActiveX就是这样的一个产品,Microsoft把它提供给广大的开发人员,使他们能够把计算机桌面环境与构成Internet及其大量资源的环境集成起来,同时保护在Windows技术中现有的开发环境。
  ActiveX包括对两个现有Microsoft技术的一系列扩充和增强,这两个技术是:Windows32位应用编程接口(Win32API)和组件对象模型(COM),对象链接和嵌入(OLE)应用是基于它构造的。
  在VC5.0中,提供大量的ActiveX控件,合理的运用将给开发人员带来很大的方便,不论是界面的设计,还是程序应用的合理扩展,都将给VC的开发人员带来更广泛的创造空间和代码的高度重复利用率。
  下面介绍以下两种在VC5.0中使用ActiveX控件的方法:
  在对话框中使用ActiveX控件的方法。
  在对话框中使用ActiveX控件是非常方便的,其方法非常象使用其他的工具栏中提供的默认控件,具体步骤如下:
  A、创建一个新的对话框。
  B、在对话框中单击右键,会出现一个POPUP菜单,选择其中的InsertActiveXControl选项。
  C、出现一个列表框,其中有许多的ActiveX控件供你挑选,选择其一,并双击将它插入对话框。
  D、你可以任意对它的属性进行编辑,方法与通用控件是相同的。
  E、编辑结束后,双击对话框将其生成一个新的继承对话框类,VC会自动将此ActiveX的类定义极其类函数的说明和描述(*.h,*.cpp),你可根据其提供的函数进行操作。
  这种方法简便易行,一些实现特殊功能的ActiveX控件(例如,一个做好万年历控件)的应用,将给你带来意想不到的便利。
  在视中使用ActiveX的方法。
  我们可能不仅仅在对话框中使用ActiveX控件,虽然我们可以使用CFormView类继承我们的插入ActiveX的对话框类,但是我们也会在使用分割窗口时遇到问题,因为CMDIChildWnd类的分割视是不能嵌入CFormView类的。那么我们要在分割视中使用ActiveX控件应该如何办呢?没问题,我们来手工创建吧!
  方法如下:
  A、创建好你准备嵌入ActiveX控件的视。
  B、在project菜单中选择AddToProject-ΛComponentandControl。
  C、在ListBox中有两项,一个DevelopStudiocomponents,一个RegisteredActiveXControl,都可选择,从中你会选到自己需要的控件。
  D、选择之前,你可先单击MoreInfo,了解以下这个ActiveX的功能,properties、events、Methods以及你要用到的控件的名称(*.OCX)和你所需要的一切关于这个ActiveX的信息。
  E、选择Insert,VC会自动将其即将加入的各种类的名称及文件名称提示给用户,确认后,你就可以使用它了。
  F、在你的CView类中加入WMμCREATE消息,在*.h文件中加入此ActiveX的*.h文件的说明,并定义一个事例,在OnCreate()中准备用Create()创建这个ActiveX事例。
  G、所有ActiveX控件的Create()函数的格式都是相同的,如下:
  BOOLCreate(LPCTSTRlpszWindowName,DWORDdwStyle,
  constRECT&rect,CWnd*pParentWnd,UINTnID,
  CFile*pPersistΚNULL,BOOLbStorageΚFALSE,
  BSTRbstrLicKeyΚNULL)
  LPCTSTRlpszWindowName:ActiveX的标题
  DWORDdwStyle:创建的风格
  constRECT&rect:控件的大小和位置
  CWnd*pParentWnd:父窗口的描述(通常为NULL)
  UINTnID:定义的消息
  CFile*pPersistΚNULL:
  BOOLbStorageΚFALSE:
  BSTRbstrLicKeyΚNULL:
  H、ActiveX控件的头文件中你都可以找到声名的函数
调用方法,从容地使用函数,从容地使用ActiveX控件,我们会作出更好的软件。
  下面简单介绍一个控件使用的程序。
  实现功能:
  在一个CView类中嵌入CRichText5.0Control,实现在视中显示RTF文件,通过调用其文件名的方法。笔者只简单应用了Create()和SetFileName()。
  CView类的头文件中加入:
  #defineIDM—RICHTEXT1000//ActiveX实例的消息定义
  #include″richtext.h″//AcitveX头文件的调用
  CRichTextm—richtext;//ActiveX的实例声明
  protected:
  //{{AFX—MSG(l—NewsContent)
  afx—msgintOnCreate(LPCREATESTRUCTlpCreateStruct);
  //OnCreate()函数声明
  //}}AFX—MSG
  CView类的CPP文件中加入:
  intl—NewsContent::OnCreate(LPCREATESTRUCTl pCreateStruct)
  {
  CRectrect;
  SetRect(&rect,0,0,800,600);
  m—richtext.Create(″″,ES—MULTILINE WS—VISIBLE WS—CHILD
ES—AUTOHSCROLL
ES—AUTOVSCROLL,rect,this,IDMμRICHTEXT,NULL,FALSE,NULL);
  m—richtext.SetFileName(″c:ιιli1.rtf″);//显示″c:ιli1.rtf″文件
  CStringli1Κm—richtext.GetTextRTF();//获取控件内容
  CStringli2Κ″中国计算机报″;//指定控件显示内容
  m—richtext.SetTextRTF(li2);
  }
  AcitveX文件的头文件定义:
  classCRichText:publicCWnd//richtext.h
  {
  public:
  BOOLCreate(LPCTSTRlpszWindowName,DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UINTnID,CFile*pPersistΚNULL,BOOLbStorageΚFALSE,BSTRbstrLicKeyΚNULL)
  public:
  CStringGetFileName();//获取文件名
  voidSetFileName(LPCTSTRlpszNewValue);//指定文件名
  CStringGetTextRTF();//获取RTF文本
  voidSetTextRTF(LPCTSTRlpszNewValue);//指定RTF文本
  voidLoadFile(LPCTSTRbstrFilename,constVARIANT&vFileType);
  voidRefresh();//清除全部内容
  voidSaveFile(LPCTSTRbstrFilename,constVARIANT&vFlags);//存储RTF文本
  };
  最后,如果你想先测试一下某一ActiveX控件的功能,你可以使用VC提供的工具ActiveXControlTestContainer,它的强大功能一定能满足你的好奇心。
  让我们更好的使用ActiveX,用最大的方便,最简单的方法,作出最好的软件。
  

back.gif (1185 字节)

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网