既存のフォームのコンポーネントを変更するには、それが実際に 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し、変更の保存に関するプロンプトに対して [いいえ] と答えて、必要に応じて最初に作成するように指示したバックアップ コピーから復元します。