如何在Delphi表单上创建新的IOTAComponent

时间:2013-07-10 19:01:26

标签: delphi form-designer opentools

我正在尝试编写Delphi Open Tools API工具,用于自动生成和更新放置在数据模块或表单上的组件。我已经可以列出所有组件(每个组件由(IOTAComponent的类)实例表示)并修改它们的属性(setPropByName(...),getPropValueByName(...))。问题是 - 如何在Open Tools API代码中创建新组件,以便将此组件添加到datamodule的形式中?

我正在使用IOTAModuleServices API的一部分,我想这是手头任务的正确部分,不是吗?

1 个答案:

答案 0 :(得分:6)

您需要获取要更新的Form / DataModule的IOTAFormEditor接口,然后调用其CreateComponent()方法:

type
  IOTAFormEditor = interface(IOTAEditor)
    ['{F17A7BD2-E07D-11D1-AB0B-00C04FB16FB3}']
    ...
    function CreateComponent(const Container: IOTAComponent;
      const TypeName: string; X, Y, W, H: Integer): IOTAComponent;
    ...
  end;