6

パネル付きのフォームがあります。

実行時にフレームを作成し、フレームの親プロパティをパネルに設定してパネルに表示します。

パネルを作成するとき、フレームの存続期間を自分で管理するため、所有者プロパティを設定しません。

今まで問題ありませんでした。次に、アクションのいくつかのショートカットを使用して、フレームにTActionListを配置します。

フレームの所有者プロパティをパネルに設定するまで、アクションが実行されないことがわかりました。

誰かが私にそれを説明できますか?所有者のプロパティは、コンポーネントが子コンポーネントを解放する責任があり、主要なイベントを転送する責任がないということだと思いました。

4

2 に答える 2

5

フォームのショートカット処理はで行われTCustomForm.IsShortCut、TActionListsを含むコンポーネントが繰り返されます。フレームはフォームによって所有されていませんが、反復中にフレーム上のアクションリストは見つかりません。これを回避するには、フレームがパネルに取り付けられているときに、アクションリストの所有者またはフレーム全体をフォームに変更します。作成後に所有者を変更するには、を使用しInsertComponentます。

于 2011-03-16T13:43:03.100 に答える
1

所有者はに生涯管理についてです。しかし、少なくとも、まったく異なる目的で所有者を使用するpoOwnerFormCenterがあります。そして、あなたはおそらく別の目的に出くわしました。

于 2011-03-16T07:35:52.710 に答える