この節では、改めて TWinControl についての理解を深めることにしましょう。
尚、本サイトで進めている、オブジェクト指向プログラミングからは若干反れているので、ここは読み飛ばしても結構です。
オブジェクト指向の内側を覗くという意味で、A-6 があると考えて下さい。
まずは専門書籍、
Borland Delphi6 オフィシャルコースウェア(井上 勉 著、Borland 株式会社 監修)の文を引用し、
それに対するコメントという形で解説を加えていきます。
■ TWinControl クラス
TWinContorol は、すべてのウインドウコントロールの基本クラスです。
ウインドウコントロールとは、TForm,TEdit,TCheckBox のような
アプリケーション実行中に、フォーカスを持つことのできるコントロールです。
ウインドウコントロールは、他に二つの特徴があります。
□ 専門書にはこう書いてありますが、実際には Delphi ヘルプを参照する方法が一番です。
試しにヘルプを開き、TForm を調べてみましょう。
継承図の中にそのコンポーネントが何から継承されているのかが分かります。
TForm,TEdit,TCheckBox は、どれも TWinControl が継承されています。
(尚、TWidgetControl も、TWinControl とほぼ同じ意味です)
■ コンテナコンポーネント
他のコントロールを中に収める物を『親』コントロールと呼びます。
ウインドウコントロールだけが、一つまたは複数の他コントロールの親になることが出来ます。
『親』コントロールになれるコンポーネントは、コンテナコンポーネントと呼ばれます。
コンテナコンポーネントから見た『子』コントロールの数は、ControlCount プロパティで取得できます。
また、すべての『子』コントロールの一覧は Controls プロパティで取得できます。
□ まずは実際にやってみることが肝要です。
フォーム上にコンテナコンポーネントを貼り付けてみましょう。
コンテナコンポーネントには、例えば TCoolBar があります。
TCoolBar を貼り付けた後、その中に TButton や TMemo を貼り付けてみて下さい。
二つのコンポーネントが格納されたことと思います。
これが、『親=子』という概念です。
(図1-1)
■ ウインドウハンドルを持つ
これは今回のオブジェクト指向プログラミングには直接影響しない為に詳しい説明は割愛しますが、
非常に重要な事柄です。
オブジェクト指向に関心を持った方は、Delphi ヘルプや Web サイト、書籍等で詳しく調べてみると良いでしょう。
Borland Delphi6 オフィシャルコースウェアは本学の図書館にあります。