アクション リストへのアクションの追加
IDE 固有のオブジェクトを使用する への移動
INTAServices
ネイティブ Tools API インターフェイスを使用して、IDE のアクション リストに独自のアクションを追加することができます。
アクション リストへのアクションの追加
TAction のインスタンスを IDE のアクション リストに追加するには:
- アクション リスト オブジェクトを親として
TAction
のインスタンスを作成します。アクション リスト オブジェクトは、INTAServices
にキャストしたBorlandIDEServices
変数のActionList
プロパティです。 - アクションを構成します。たとえば次のように設定します。
- Name、Caption、Hint、ShortCut などのプロパティを定義します。
- OnExecute イベントにイベント ハンドラを割り当てます。ユーザーがアクションを実行すると、指定されたイベント ハンドラが IDE によって実行されます。
- OnUpdate イベントにイベント ハンドラを割り当てます。たとえば、アクションが有効または無効になったときの処理などを行います。
- アクションのアイコンを定義するには、IDE の画像リストにアイコンを追加し、そのインデックスをアクションの ImageIndex プロパティに割り当てます。
- ユーザーがツールバーに追加できるようアクションを構成します。
INTAServices
にキャストしたBorlandIDEServices
変数のAddActionMenu
を呼び出し、以下のパラメータを渡します。- 空の文字列。この最初のパラメータが必要なのは、メイン メニューにメニュー項目を追加する場合だけです。
- アクション オブジェクト。
- nil。このパラメータが必要なのも、メイン メニューにメニュー項目を追加する場合だけです。
Delphi の場合:
if Supports(BorlandIDEServices, INTAServices, NTAServices) then
begin
MyAction := TAction.Create(nil);
MyAction.Caption := 'My Action';
NTAServices.AddActionMenu('', MyAction, nil);
end;
C++ の場合:
_di_INTAServices NTAServices;
if (BorlandIDEServices->Supports(NTAServices)) {
MyAction = new TAction(NULL);
MyAction->Caption = "My Action";
NTAServices->AddActionMenu("", MyAction, NULL);
}
ユーザーによるツールバーへのアクションの追加
用意したアクションをユーザーが IDE のツールバーに追加できるようにするには、アクションの Category プロパティに何らかの値を設定します。たとえば「My Actions」などです。そうすると、ユーザーはアクションをボタンとしてツールバーに追加することができます。
ユーザーがアクションをツールバーに追加できるようにする場合は、終了処理コードで、そのアクションを参照するすべてのツール ボタンを検索し、そのボタンを削除しなければなりません。