6

私はカスタムコンポーネントエディターを書いてTActionListいます。これは、サブコンポーネントの作成を可能にするという点でエディターと本質的に似ています。エディタには、コンポーネントを追加/削除するためのボタンがあります。

ここで、選択したコンポーネントが継承されているかどうかを確認して、削除ボタンを無効にできるようにします。IDesignerまたは関連するインターフェースでそのようなメンバーは見つかりませんでした。

先に進んでそれまでに削除するとDesigner.DeleteSelection(True);、例外が発生します。

選択には、祖先に導入されたコンポーネントxxxが含まれており、削除できません。

これはそれほど悪くはありませんが、そもそも削除ボタンを無効にしたいと思います。

4

1 に答える 1

9

わかりました、どうやらTComponent.ComponentStateforをチェックする方法があるcsAncestorようです。

ComponentState の csAncestor

そしてそれは文書化されています:

csAncestor - コンポーネントは先祖の形で導入されました。csDesigning も設定されている場合にのみ設定します。

于 2013-03-04T22:03:54.900 に答える