掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
可視状態にあるコンポーネントを取得するには? (ID:20268)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> どちらも、TComponent 派生クラスのプロパティーで、オーナーになれればつかえ > ます。TForm に置かれたコンポーネントは、デフォルトですべてそのフォームに > 所有されます。 button := TButton.Create(Panel1); このように記述すると、ここでクリエイトされたTButtonは、Panel1の所有物。 button.Parent := Form1; このように親を指定して初めて親子関係ができあがる。 ぽとりぺたりで設計しただけのフォームなら、すべてのコンポーネントは、 フォームの所有物になるので、ComponentCount + Components で、 フォーム上の全てのコンポーネントが列挙される。 でも、上記例のように、ソースコードで記述しクリエイトされるコンポーネントは、 明示的にフォームを指定しないと、拾われない可能性がある。 だから「パネルの上にのっけるから、オーナーはパネルでいいや」ってやっちゃうと、 Componentsでは参照できないわけですね。 凝ったことやってるんだったら、ControlCount + Controls で再帰処理したほうがいい場合もあるでしょう。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.