要更改现有表单上的组件,它实际上必须是 IDE 可以在设计时创建实例的组件。当然,这意味着 IDE 必须首先意识到这一点。
这样做的方法是创建您自己的后代组件,并将其实际安装到设计时包中的 IDE 中。然后,您可以将其放在您的表单上而不是标准版本上,或者通过一些工作将其替换到现有表单上。(不过,您必须先创建版本并安装它。)
File->New->Package (Delphi)
从 IDE 的菜单开始。像保存任何其他项目一样保存包(例如,MyComponents.dpk
)。
现在使用File->New->Other->Delphi Files
,并Component
在右窗格中双击。向导将New Component
启动,您可以在其中选择要继承的现有组件(或设计新组件)。
按照向导的步骤操作,您最终将获得组件的基本外壳:
unit MyToolBar1;
interface
uses
System.SysUtils, System.Classes, Vcl.Controls, Vcl.ToolWin, Vcl.ComCtrls;
type
TMyToolBar = class(TToolBar)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TMyToolBar]);
end;
end.
在新后代中实现您想要的任何功能,然后保存文件。
右键单击包中的Project Manager
(默认情况下在 IDE 中的右上角窗口),然后Install
从上下文菜单中选择。这将编译和构建包,并自动将其安装在 IDE 中。(我展示的示例将Samples
根据调用中指示的内容将新组件放在调色板中的页面上RegisterComponents
。)
完成上述操作后,您可以更改现有表单(首先备份 .pas 和 .dfm 文件!)。我将使用TToolBar
您提到的,以及我在下面的说明中发布的外壳的示例替换。
手动将源代码编辑器中的类名从TToolBar
更改为TMyToolBar
.
右键单击表单,然后View as Text
从上下文菜单中选择。
找到TToolBar
,并将其从 更改TToolBar
为TMyToolBar
。
再次右键单击,然后View as Form
从上下文菜单中选择。如果您正确地完成了这些步骤,单击工具栏上的 应该会TMyToolBar
在对象检查器中显示您。如果您没有看到它(或者如果您收到错误消息),那么您做错了;您可以通过右键单击代码编辑器顶部的选项卡并选择来关闭选项卡,Close tab
然后对有关保存更改的提示回答“否”,然后在必要时从我告诉您首先制作的备份副本中恢复。