ウィンドウの概要

ウィンドウの構成

次の図は,代表的なウィンドウの構成を示したものです。

ウィンドウの構成

ウィンドウ枠内の白く塗り潰された部分は,クライアント領域 (client area) と呼ばれます。
ウィンドウで表示すべきコンテンツは,主にクライアント領域に描画します。

次の図は,各種コントロールを持つウィンドウです。

コントロール

エディットコントロール,ボタンコントロールのような,ウィンドウの部品として設計されたウィンドウのことを,コントロール (control) と言います。
コントロールはウィンドウの一種であり,普通のウィンドウを作るのと同じ関数で作成することができます。

## ウィンドウ間の主従関係

ウィンドウ間の主従関係には,次の 2 通りの関係があります。

親ウィンドウと子ウィンドウの関係は,ウィンドウ間に所有関係があり,子ウィンドウが親ウィンドウのクライアント領域に描画される関係を言います。
エディットコントロールやボタンコントロールといったコントロールは,代表的な子ウィンドウです。

親ウィンドウと子ウィンドウ

一方のオーナーウィンドウとオーナー付きウィンドウの関係は,ウィンドウ間に所有関係があり,オーナー付きウィンドウの描画位置がオーナーウィンドウから自立している関係を言います。
ダイアログボックスやメッセージボックスは,代表的なオーナー付きウィンドウです。

オーナーウィンドウ

ウィンドウの種類

Windows におけるウィンドウは,ウィンドウスタイルによって主に次の 3 つに分類できます。

次の図のような,いわゆる一般的なスタイルを持つウィンドウは,オーバーラップウィンドウと呼ばれます。
本来,オーバーラップという言葉はウィンドウの配置方式を指す言葉ですが,ここでは配置方式は関心事ではありません。

オーバーラップウィンドウ

ポップアップウィンドウは,メッセージボックスやダイアログボックスに代表されるスタイルを持つウィンドウです。

ポップアップウィンドウ

子ウィンドウについては先に説明した通りです。
エディットコントロールやボタンコントロールといったコントロールは,代表的な子ウィンドウです。

座標系

Windows プログラミングでは次の 2 つの座標系がよく使われます。

座標系