コマンドを実装する
コンテキストメニューに項目を追加する への移動
GetVerb によって提供されるコマンドをデザイナで選択すると、ExecuteVerb メソッドが呼び出されます。 GetVerb メソッドに記述したコマンドそれぞれについて、ExecuteVerb メソッド内でアクションを実装します。 編集対象のコンポーネントには、エディタの Component プロパティを使ってアクセスすることができます。
たとえば、次の ExecuteVerb メソッドは、メニュー項目を指定する サンプル内の GetVerb メソッドに対するコマンドを実装しています。
procedure TMyEditor.ExecuteVerb(Index: Integer); var MySpecialDialog: TMyDialog; begin case Index of 0: begin MyDialog := TMySpecialDialog.Create(Application); { instantiate the editor } if MySpecialDialog.Execute then; { if the user OKs the dialog... } MyComponent.FThisProperty := MySpecialDialog.ReturnValue; { ...use the value } MySpecialDialog.Free; { destroy the editor } end; 1: That; { call the That method } end; end;
void __fastcall TMyEditor::ExecuteVerb(int Index) { switch (Index) { case 0: TMyDialog *MySpecialDialog = new TMyDialog(); MySpecialDialog->Execute(); ((TMyComponent *)Component)->ThisProperty = MySpecialDialog->ReturnValue; delete MySpecialDialog; break; case 1: That(); // call the "That" method break; } }