【问题标题】:Is it possible to visually design a custom component at design time?是否可以在设计时直观地设计自定义组件?
【发布时间】:2011-04-03 09:56:04
【问题描述】:

我正在冒险在 Delphi 中制作自己的组件。我在开始组件开发时遇到了困难。

我想制作一个复合控件,即由几个其他控件组成的控件,例如地址表单或类似的东西。

我来自 TWinControl。这会被认为是正确的选择吗?

主要是,我看不到在 D2010 中直观地设计组件的方法。这可能吗?例如,将一些文本框拖放到您的组件上,就像使用表单一样。我希望我不必将所有视觉方面的代码都交给我自己的组件..

此外,任何关于 delphi 组件开发的好的链接都将非常感谢 - 特别是复合控件。文档不是 A1,这是一场斗争。我已经搜索了很多,我仍然无处可去。

【问题讨论】:

  • 不,自定义组件是用代码编写的。但也许你可以简单地使用TFrame
  • 是的,我认为 TFrame(对我来说是错误的......新的)确实是要走的路。泰。

标签: delphi delphi-2010 tframe


【解决方案1】:

如果您要制作包含多个控件的内容,例如地址表单,您可能会考虑将其制作为框架而不是控件。框架可以像窗户一样设计,并可以重复使用。

【讨论】:

  • 那是我耳边的音乐。在将它们制成适当的可重用对象之前,我暂时使用 TPanel 只是将它们组合在一起,我不知道 TFrame。我知道一定有什么东西,否则就不是那么RAD了!我希望 TFrame 可以在不同的形式上重复使用,从我最初的阅读来看是这样的。谢谢。
  • 你可以在不同的表单上重复使用它们——它们和其他任何一个类一样!将您制作的框架中的一个放到两个不同的表单上进行尝试 - 它们的工作原理就像将任何单个组件中的两个放到一起。
【解决方案2】:

您必须在代码中描述它才能编译,但您可以先使用一个技巧来直观地设计组件。

在窗体上放置一个 TPanel,并让它代表基本控件。排列您的子控件,然后从文本视图中获取属性。 GExperts 添加了一个菜单选项,可以将表单上的控件转换为代码以自动生成它们,从而使这一步变得更加容易。

【讨论】:

    【解决方案3】:

    阅读我在using Frames as Visual Components - don't forget your spring上的沼泽文章。
    这很容易:将所有内容放在您的 Frame 上,将其注册为组件,注册小枝,并且不要忘记在设计时会忽略“Visible=False”。

    我昨天刚刚在DelphiLive! conference 的会前研讨会上解释了这一点:-)

    --杰罗恩

    【讨论】:

      猜你喜欢
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 2013-03-04
      • 2015-08-02
      • 1970-01-01
      相关资源
      最近更新 更多