Delphi在设计时使用自定义控件而无需包

时间:2016-01-10 17:29:03

标签: delphi custom-controls

我可以直接在设计时使用自定义控件(例如TEdit后代),而无需设计时间包吗?我不想为该控件创建任何包,因为它只是一个,项目特定的等。

谢谢

2 个答案:

答案 0 :(得分:2)

IDE基于软件包,所以不,你不能在没有软件包的情况下在设计时使用控件。

但是你有两个角落切割选项。它们并不完全是您所要求的,但可能看起来有点接近并在短时间内为您节省一些工作(但从长远来看会使维护变得更复杂)。

  1. Delphi附带用户自定义控件包 - 专门用于包含不值得拥有自己包的用户单一控件。
    PS。 Uwe Raabe纠正了我,因为自Delphi XE以来,该软件包已不再可用。因此,最接近的选项是IDE中的Component | Install Component...向导,提供新包的延迟创建...换句话说,在使用Delphi 2010及更低版本时,只有选项#1。

  2. 如果您的TEdit在设计时与VCL的TEdit没有太大差异,您可以在设计时使用库存TEdit,并且只在运行时替换您的自定义后代。我对How to efficiently let a `ParentFont = False` child control to use same font name as parent?

  3. 的回答显示了仅限运行时的劫持方法(TButton示例)

答案 1 :(得分:2)

没有。 UI控件必须位于包中才能在设计时使用。但是,UI控件可以在运行时实例化,而不是在包中。