更新順0基本的にはその通りですが例外もあります。APIを使ってウィンドウを作成したり、ウィンドウの設定を変更する際にはWNDCLASSEXを引数として与える必要があります。用途としてはeida_227さんの書かれている通りで、ウィンドウに対してアイコンやマウスカーソル、メニューなどを指定する際に使用します。重要なのはウィンドウプロシージャの設定で、この関数でウィンドウに対して送られる全メッセージを処理することになります。ウィンドウ毎に必要なのはその通りですが、Windowsの場合、ボタンやエディットボックス、ラベルといった各要素も「見た目や機能がボタンになっているウィンドウ」、「見た目や機能がラベルになっているウィンドウ」となります。Studio.NETツール>Spy++を起動して、ウィンドウの一覧を見てみるとウィンドウの子要素として様々なウィンドウ(ボタンやラベル)があるのが見えて面白いかと思います。WNDCLASSEXは見た目やメッセージを処理する関数を定義するわけですが、ボタンの見た目はどれも一緒ですので、WNDCLASSEXも同じもの(Button)を再利用します。APIを呼ぶことになりますね。(0)ご回答ありがとうございます。20:54ButtonやLabelといったWNDCLASSEXはOS側が最初から登録済みの為、RegisterClassExを呼ぶ必要はありません。なるとWNDCLASSEX自体が不要な為、ボタンや、ラベルを表すクラスにWNDCLASSEXを持たせるのはあまり意味が無い気がします。持たせるのであればCreateWindowExに渡す為のクラス名(文字列)でしょうか。09:27これで個人的には満足なクラス設計が出来そうです。ありがとうございました。17:18ウォッチこの質問への回答やコメントをメールでお知らせします。