2016-08-12 4 views
3

私はコンポーネントとしての私のフレームを登録しました。その後、内部コントロールプロパティ(この場合はTListView.Columns)が公開されました。フレームの内部コントロールをプロパティとして公開しますが、変更は登録されません。何を登録するのを忘れましたか?

しかし、変更はdfmに格納されず、プログラムはデザイン時に作成したどの列も無視します。

私はさらにリストビュー全体を公開しました。しかし、まだ何もdfmに保存されていません。

TFme_CustomAssociatedFiles = class(TFrame) 
    ... 
    Lsv_Files: TListView; 
    ... 
    published 
    property InternalListView: TListview read Lsv_Files; 
    ... 
    end; 

答えて

3

私は少し考えた後、TLabeledEditというコンポーネントを思い出しました。私はそれがソースと私のソースと比較し、その結果は、サブコンポーネントとしてTComponent.SetSubComponent()を呼び出してコントロール/コンポーネントを表示することです。

constructor TFme_CustomAssociatedFiles.Create(AOwner: TComponent); 
begin 
    ... 
    Lsv_Files.SetSubComponent(true); 
    ... 
end; 

を、すべてが魅力のように働いた:

ので、フレームのコンストラクタで私は含める必要がありました。

関連する問題