在VB6中提供控件DataField和DataSource属性(ActiveX控件)

时间:2014-09-04 12:32:25

标签: vb6 controls activex

如何将DataSourceDataField属性添加到我的ActiveX控件?

我的UserControl:

http://s5.picofile.com/file/8138879442/1.png
http://s5.picofile.com/file/8138880934/2.png

1 个答案:

答案 0 :(得分:1)

来自Creating An ActiveX Control That Is A Data Source

  1. 创建一个新的ActiveX控件项目。
  2. 将项目中的引用设置为适当的数据库 通过Project,References菜单对话框。
  3. 将UserControl的DataSourceBehavior属性设置为1-vbDataSource。
  4. 为程序员创建自定义属性的属性过程 将用于操纵数据源控件与数据的连接。 通常,您将实现String属性,例如ConnectString (用于初始化Connection对象的连接字符串)和 RecordSource(用于保存查询以初始化数据的字符串 记录)。创建私有变量来保存每个变量的值 属性。创建私有常量来保存它们的首字母 默认值。编程InitProperties,ReadProperties和 WriteProperties事件过程以保留这些属性。
  5. 如果要为其他程序员公开控件的Recordset 要操纵,那么你应该创建一个自定义属性名称, 记录集。它的类型将是您的相应Recordset类型 计划为你的控制程序。你可以选择制作它 只读,在这种情况下你只需要给它一个Property Get 程序。声明一个私有对象变量来保存其值 WithEvents(这会将事件过程暴露给其他程序员)。
  6. 声明适当连接类型的私有变量 你计划为你的控制程序。它不符合a 自定义属性,但是为了托管Recordset是必要的。
  7. 对InitProperties,ReadProperties和WriteProperties事件进行编码 正确管理和保持创建的属性的值 在前面的步骤中。
  8. 将UserControl的GetDataMember事件过程编程为 初始化记录集并在第二个参数中返回它。您 将从包含在中的信息派生Recordset 自定义私有变量或来自的硬编码信息 GetDataMember事件过程本身(参见上一节) 一个例子)。你应该执行一些errortrapping来确保这一点 你的确有一个有效的联系。
  9. 将代码放入UserControl的终止事件中,该事件将正常进行 关闭数据连接。
  10. 如果您希望允许用户直接导航数据  操纵UserControl,然后输入适当的用户  UserControl上的界面以及用于导航的代码  记录集变量。
  11. 您的新ActiveX控件现在应该可以作为测试进行测试了  DataSource:将标准EXE项目添加到项目组。现在,  确保您已关闭UserControl的设计器,添加一个  您对标准EXE表单的新控件的实例。
  12. 操纵任何必要的自定义属性(例如ConnectString  您可以放入自定义控件中的。或者RecordSource。
  13. 在测试项目中放置一个或多个可绑定控件并设置它们  DataSource属性指向数据源的实例  控制。将其DataField属性设置为指向来自的字段  露出Recordset。