网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
使用Delphi快速开发ActiveX控件
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式
见图1,可以使用它来增加、修改、删除类型库的各种元素。从图1类型库的界面上可以看到,左边是一个树形结构,各种元素的成员作为子节点出现;右边是根据左边所选中的元素类型显示不同的页签,可以对该元素的一些属性进行编辑。

  3、属性、方法和事件

  VCL构件的属性、方法和事件自然就变成为ActiveX控件的属性、方法和事件。控件的属性,例如颜色、标签等;控件的方法是请求控件执行某些动作;事件则是控件给宿主程序的一个通知,发生了一些事情。

  4、属性页

  ActiveX控件所带的属性页可以让控件的使用者查看和修改控件的属性。您可以把几个属性捆绑在一个属性页上,也可以只为一个属性提供一个属性页。


  二、快速开发ActiveX控件


  下面就让我们来使用Delphi具体做一个ActiveX控件。

  假设我们现在面临的问题是,在使用Visual C++(VC)开发一个应用的时候,需要使用一个Grid控件来处理界面的事情,而使用VC所提供的FlexGrid控件又很麻烦,发现Delphi里的TStringGrid构件非常合适。但是TStringGrid是Delphi里的VCL构件,又不能直接被VC使用,怎么办呢?不用愁,我们只要把TStringGrid包装成为VC可以使用的ActiveX控件就可以解决这个问题了。

  Delphi为ActiveX控件的开发提供了两个向导:

  * ActiveX控件向导可以让你把一个VCL构件包装成为一个ActiveX控件。下面将会使用到这个向导。

  * ActiveForm向导则可以把几个VCL构件包装成为一个ActiveX控件或者开发一个完整的ActiveX应用。

  在Delphi当中把TStringGrid包装成一个ActiveX控件的过程如下:

  首先,要启动ActiveX控件向导,选择File菜单里的New命令,在弹出的对话框里选择ActiveX页签,然后双击ActiveX Control图标即可,如图2所示。向导中的第一个域要求选择一个要进行包装的VCL构件,点击选择TStringGrid。其他几个域取缺省值即可,如果需要包含版本信息等其他信息,也可以选上。点击OK按钮,向导将生成一个Delphi的ActiveX控件开发项目StringGridXControl1,包括以下几个的文件:

  1. 一个ActiveX项目文件,包含了启动、初始化一个ActiveX控件所需要的代码。通常是不需要修改这个文件的。

  2. 一个类型库文件(TLB扩展名),定义和实现了ActiveX控件向外所提供的接口、属性、方法和事件。Delphi专门为这个文件提供了一个Pascal版本的文件,而且自动维护这两个文件的一致性。

  3. 一个ActiveX实现的文件,使用了Delphi ActiveX框架(DAX)定义和实现了这个ActiveX控件,具体实现类型库里定义的接口。这个文件是我们经常需要修改的。DAX是Delphi对ActiveX控件的COM规约的实现方式。

  4. 如果选择了包括一个“关于”对话框的话,还有一个对应的对话框实现文件。

  Delphi的ActiveX控件向导根据所包装的VCL构件的属性、方法和事件生成了ActiveX控件相应的属性、方法和事件。但是它没有把VCL构件使用非OLE类型(如集合、数组等)的属性、方法和事件转换过去。例如,TStringGrid的Options属性是集合类型的,RowHeights是数组类型的,在控件向导所生成的属性中就没有这些属性。但是有时候偏偏这些属性、方法和事件是很重要的,这时就需要手工添加一些属性、方法和事件!

  现在为这个ActiveX控件添加一个BRowSelect属性,这个属性本来是TStringGrid的Options属性的子属性,控制Grid是否处于行选中状态。在StringGridXControl1项目里打开ActiveX实现文件StringGridImp1.pas,选择Edit菜单里的Add To Interface命令(注意:只有打开了实现文件,这个命令才能使用),Delphi将弹出增加接口对话框,如图3所示。在对话框里的Interface项选择Properties/Methods-IStringGridX,然后在Declaration里写入BRowSelect属性的声明(如果你选中了对话框里的Syntax Hel
  • 上一篇资讯: Delphi操作系统编程
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号