• 创建可绑定到 InfoPath 表单数据的 ActiveX 控件


    来自:微软
    表单中可以承载 ActiveX 控件。这些控件可以是现成的(具有某些约束),也可以针对 InfoPath 专门编写这些控件。

    编写 ActiveX 控件

    像 InfoPath 中的其他控件一样,ActiveX 控件应该支持现有的组件对象模型 (COM) 接口:

    • IDispatch
    • IPersistPropertyBag
    • IPersistStreamInit
    • IPropertyPage
    • IObjectSafety
    • IPropertyNotifySink
    • IViewObject
    • IOleObject
    • IOleInPlaceObject

    为了让 InfoPath 能在文档对象模型 (DOM) 中的属性在控件中发生更改的情况下可以更新这些属性,控件应该实现下列接口:

    • IConnectionPointContainer
    • IEnumConnectionPoints
    • IConnectionPoint
    • IEnumConnections

    已经添加了下面两个新的 COM 接口以提供更紧密的控件集成:

    • IInfoPathControl
    • IInfoPathControlSite

    有关这些接口的详细信息,请参阅 InfoPath 对象模型的帮助。

    将 ActiveX 控件添加到 InfoPath 设计环境

    “控件”任务窗格允许您使用“添加自定义控件向导”来添加自定义控件。通过该向导可以:

    • 选择已经注册的 ActiveX 控件。
    • 指定 CAB 来安装具有表单的 ActiveX 控件。
    • 指定绑定到 XML 的绑定属性。
    • 指定可能会有帮助的启用或禁用属性,例如,当 XML 不存在或者当使用了条件格式时。
    • 指定数据类型绑定。
      注释
    如果开发 ActiveX 控件,并已将其添加到 InfoPath 中的“控件”任务窗格中,则在关闭 InfoPath 之前,将无法重建 ActiveX 控件。

    部署 ActiveX 控件

    若要分发 ActiveX 控件,可以编写一个安装程序,用来在目标计算机上安装该控件,并将 InfoPath 控件模板 (ICT) 文件和 CAB 文件复制到用户的文件夹 Local Settings\Application Data\Microsoft\InfoPath\Controls 中。请注意,如果两个或多个开发人员正在协作开发使用 ActiveX 控件的表单,则每个开发人员都应该具有已添加到 InfoPath 设计环境的控件,否则他们无法从 InfoPath 内部修改控件的属性。

  • 相关阅读:
    实验吧_简单的sql注入_1、2、3
    实验吧_天下武功唯快不破&让我进去(哈希长度拓展攻击)
    实验吧_密码忘记了(vim编辑器+代码审计)&天网管理系统(php弱比较+反序列化)
    实验吧_Guess Next Session&Once More(代码审计)
    实验吧_NSCTF web200&FALSE(代码审计)
    实验吧_程序逻辑问题(代码审计)&上传绕过
    实验吧_貌似有点难(php代码审计)&头有点大
    网络安全实验室_上传关writeup
    php文件包含漏洞(input与filter)
    我为什么要写LeetCode的博客?
  • 原文地址:https://www.cnblogs.com/timy/p/1735272.html
Copyright © 2020-2023  润新知