あかすくぱるふぇ

同人サークル「あかすくぱるふぇ」のブログです。

今回は、下図に示すようなタブコントロールの最小構成です。
画面
ソースコードは以下の通り。
Dlg_h
Dlg_cpp
App_h
App_cpp

やっていることは主に以下の2つです。

1. メインダイアログ(CMainDlgクラス)にタブコントロールをつけ、各タブの子ウィンドウとしてCTabDlg1とCTabDlg2クラスのインスタンスを生成。

2. 選択タブが変化した場合のイベントハンドラ(OnTcnSelchangeTab1)をオーバーライドし、選択タブに応じて表示を切り替える。

以下のページに書いてることですが、ググってもすぐにはヒットしないようなので、備忘録として残しておきます。
http://www.geocities.co.jp/Hollywood/2358/mfc_2.html

MFCでは、ユーザー定義のクラスをnewする必要があります。
しかし、MFC内部ではユーザーが定義したクラスの名前は分かりようがないので、newするための関数をユーザーが用意する必要があります。
ただし、newの処理をユーザーが直書きするのはめんどくさい。
そこで用意されたのが、DECLARE_DYNAMICとIMPLEMENT_DYNAMICマクロです(と上記ページでは予想しています)。

DECLARE_DYNAMICは、new処理を行う関数の宣言。
IMPLEMENT_DYNAMICは、その関数の定義。

↑このページのトップヘ