Delphi 7 を使用して、子孫の TCollection/TCollectionItem セットがあります。これらは設計時のみに設定することを意図しており、実行時に変更しないでください。これどうやってするの?設計時は常に必要な編集を許可する必要がありますが、実行時は、コレクション内のアイテムを追加、削除、または再インデックス化できるようにしたくありません。これらの各アイテムのプロパティ、はい、有効にしたいです。ただし、実際のアイテムを変更するのは設計時のみです。
質問する
589 次
1 に答える
5
Assign()
のおよびNotify()
メソッドをオーバーライドしてTCollection
追加と削除を通知し、 のSetIndex()
メソッドをオーバーライドしてTCollectionItem
インデックスの再作成を通知できます。追加/削除の場合は、例外をスローして操作を拒否します (追加の場合、追加された新しい項目を解放する必要があります)。再インデックスの場合は、何もせずに終了します。
実行時と設計時を区別するには、TCollection
が見つかるまで (他のクラスの内部にネストされている場合)の所有者チェーンを調べてから、フラグのプロパティをTComponent
確認できます。ComponentState
csDesigning
于 2011-11-10T01:53:53.570 に答える