首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有自动创建配置表单的组件?

是否有自动创建配置表单的组件?
EN

Stack Overflow用户
提问于 2012-03-23 18:41:37
回答 2查看 1.3K关注 0票数 5

我在我的系统中有一个设置类,我在其中存储重要设置的配置值。它看起来像下面的代码,但具有更多不同类型的属性。现在我需要实现一个表单,我可以用它在运行时调整和配置这些设置。实现每个属性的字段并保证所有值的映射都没有错误是非常麻烦的。

现在我的问题是:是一个vcl组件,可以自动创建一个接口来解决这个问题。例如:提供一个带有属性名称和字段名称的树状或listview状界面来编辑值(类似于IDE中的属性窗格,带有打印机设置,请参见下面的屏幕截图)。这将是一件很棒的事情。不是吗?

您如何处理这样的配置表单?

感谢您的投入!

代码语言:javascript
运行
复制
TGoldmannSettings = class
  private
    FInitialSymbolSize          : Integer;
    FPenWidth                   : Single; 
    FCanvasColor                : TColor;
    FShowLiveCoordinates        : Boolean;
    FFont1                      : TFont;  
    FMsmPointSymbol             : TAvailableSymbols; // own type
    ...
  public
    constructor Create;
    destructor Destroy; override;
    property SymbolSize : Integer read FInitialSymbolSize write FInitialSymbolSize;
    property Font1: TFont read FFont1 write FFont1;
    ...
  published
    property PenWidth: Single read FPenWidth write FPenWidth;
    property CanvasColor: TColor read FCanvasColor write FCanvasColor;
    property ShowLiveCoordinates: Boolean read FShowLiveCoordinates write FShowLiveCoordinates;
    ...
  end;

您有时会在打印机设置对话框中找到我想要的内容:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-23 21:22:40

来自Delphi Jedi JVCL项目的TJVInspector组件创建了一个与您正在寻找的非常相似的属性编辑器。他们有一个在INI文件上工作的高级示例。

JVCL网站:http://jvcl.delphi-jedi.org/

很好的例子:http://www.neugls.info/?tag=tjvinspector

JVCL / JCL包很大,但有大量有用的组件和功能。

票数 5
EN

Stack Overflow用户

发布于 2012-03-23 21:25:30

我还没有创建过类似于delphi项目选项中的自动配置表单生成器,但我已经在我工作的几个项目中看到了这一点,并看到了源代码,它的工作原理非常如下:

  1. 我会有一个基本类型的框架称为TConfigFrameBase,它将包含像这样的一些属性:标题(用户显示的属性名称),提示(一些帮助)和名称(配置属性),和节(页面此属性显示on).
  2. Specialized继承的框架将用于布尔属性,字符串属性等。您的域(您的应用程序)将有自己的自定义类型。日期?丹麦的药房位置列表?只有你才能确切地知道你所需要的完整的UI配置属性类型,这就是为什么我还没有看到一个组件可以自动完成这个任务,或者仅仅是一个组件。布尔框将包含一个Label控件和一个复选框,默认高度约为30像素。允许我将A侧的选项列表移动到B侧的选项(例如,在特定网格中可见的列)的框架可能高达300像素。通过在滚动框中垂直堆叠这些框架,您不必过多考虑布局。当这些框架用于填充列表框时,所有内容都将可用。
  3. 左侧的树状视图可让您选择一个部分。在树视图中的单击中,右侧窗格是通过迭代内部配置帧列表来构建的,这些配置帧在列表或字典中注册,并按它们所属的部分进行筛选。

我不会使用JVCL属性检查器作为我的配置控件,但它可能适合您。我也不认为你会从VirtualTreeView得到你需要的一切,但你的里程可能会有所不同。您可以编写自己的自定义编辑器控件,如果您喜欢编写就地编辑器控件,您可能会发现VirtualTreeView非常完美。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9837807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档