2

我想在 Delphi 中创建一个自定义的“数据模块”,一个类似 TDataModule 的(可能是继承的)类,它有一个基于自定义网格的设计界面(每行一个组件,一些属性作为列)。这可能吗?我应该从哪里开始?

我目前正在使用 Delphi 2007。

4

3 回答 3

3

也许这是可能的。可以在新 IDE 构建块页面上找到 XML 框架设计器的示例。这个例子适用于 Delphi 5,但它可能是一个很好的起点。

于 2009-08-08T21:28:41.473 回答
2

正如尼克霍奇斯在这里指出的那样:

在 Delphi 中绘制 DataModule

很难在 TDataModule 后代上进行绘制。可能不是不可能,但肯定不值得麻烦。

我会考虑从头开始设计一个全新的 TDataModule,这样您就可以完全控制它。当然可能需要做很多工作,但最终它会得到回报。

您可以在 Classes.pas 单元中找到 TDataModule 类。但这只是代码的运行时部分。其他部分与IDE相关。您可以在“c:\Program Files\Borland\BDS\4.0\source\ToolsAPI\”中找到与 ToolsAPI 相关的单元,例如 BDS 2006。您还可以从 TDataModule 派生您自己的数据模块并将其注册到 RegisterCustomModule (DesignIntf​​.pas)。我对这个主题了解不多,也许其他人知道。正如我所说,做这样的事情并不容易。但也许有了这些初始信息,您就可以找到您想要的。

于 2009-08-08T12:27:05.337 回答
0

不可能完全像你描述的那样。您不能在数据模块上放置像网格这样的可视化组件。你需要一个表格或框架。

如果我要尝试像您所描述的那样,我会使用一个列表框来保存单个组件的列表、几个按钮和一个用于从列表中添加和删除组件的选择对话框,以及 TJvInspector 组件来自 JVCL 用于修改属性。这比尝试制作一个千篇一律的网格来处理这种情况要容易得多。

于 2009-08-08T12:24:43.263 回答