タブコントロール

タブコントロールはSDIとダイアログでは微妙に違います(といっても方法を知らないだけですが)

方法1(SDI)

タブコントロールはボタンやリッチコントロールとほぼ同じ。
ただ、アイテムを追加しないといけません。

まず、CTabCtrlの派生クラスを登録します(ここではCHogeTabCtrl)
次に、リソースのStringTableにCTabCtrlのIDを作成します。
CxxViewにメンバ変数としてCHogeTabCtrlを登録します(ここではm_tabCtrlとします)
CxxViewのOnCreate()ハンドラから作成します。
このあと、OnCreate()関数の中でCHogeTabCtrlのインスタンスを作ります。
インスタンスを作成したら、アイテムを追加します。必須ではありません。
アイテムはOnCreate()ないでも良いですし、CHogeTabCtrlのコンストラクタや派生クラスのOnCreate()でも良いでしょう。
とりあえず、今回はCxxViewのOnCreate()で作成するとします。
タブコントロールの作成例
if(!m_tabCtrl.Create(TCS_FIXEDWIDTH | WS_VISIBLE ,CRect(10,210,400,400),this,IDC_TABCTRL)){
        //作成できない場合はとりあえずメッセージ表示
        MessageBox("TabCtrl Not Create","Miss",MB_OK);
}else{
    //アイテム追加
    m_tabCtrl.InsertItem(0,"アイテム1",0);
    m_tabCtrl.InsertItem(1,"アイテム2",0);
    m_tabCtrl.InsertItem(2,"アイテム3",0);
}

CTabCtrlのCreate
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
引数説明
dwStyle タブコントロールのスタイル
rect 表示位置とサイズ
pParentWnd 親コントロール
nID タブコントロールのID
Createの最初の引数はTabCtrlの状態を表します。WS_VISIBLEは指定しないとコントロールが表示されないので 必ずつけましょう。
次の引数は位置と大きさを表します。
3番目は親コントロール、NULLは指定できないようです(ボタンもリッチエディットも同じです)。
最後はこのコントロールのIDです。

タブの追加はInserItem()関数で行っています。
ほかにもあったのですが簡単そうなのでこれにしました。
最初の引数が、タブのインディックスです。
次はタブのキャプションです。
最後はイメージの番号です。

ここで作成したタブコントロールにコントロールを追加する方法は まだわかりません。
たぶん、個々のタブのハンドラを取得し、コントロールを追加するのだと思います(予想)

方法2(ダイアログ)

プロパティシートを利用する方法もあります。
これはダイアログ形式になるようです。
この方法はアプリケーションの定画面などで利用できます。

まず、コンポーネントギャラリでプロパティシートを追加します。
追加を行うと、[プロパティシート Wizard]が起動します。
最初の画面では、プロパティシートをチェックして[次へ]を押します。
2番目の画面では必要にあわせて設定して[次へ]を押します。
3番目の画面でもプロパティシートのアクセス権に移ったら、アクセス権を持たせたい クラスを選択し次へを押します。
4番目の画面では、プロパティシートの初期のページ数を設定できます。
お好みにあわせてどうぞ
5番目の画面で、好みのクラス名に変更して(変更しなくても良いが)[完了]を押してください。
すると、プロパティシートが追加されます。
そして、関連付けたいオブジェクトにプロパティシートのIDを関連づけます。
関連づけたらClassWizardを開きます。
メッセージマップのタブでプロパティシートを追加したクラス(デフォルトならCMaihFrame) を選択し、オブジェクトIDをプロパティシートのIDを選択します。
そして、メッセージのCOMMANDを選択し、[関数の追加]を押して、編集します。
作成された関数でOnProperties()関数を呼ぶようにします。
これでタブコントロール(厳密には違うのだが)の作成と表示が行えます。

このタブはプロパティシートとプロパティページによって実現されています。
ここのタブにコントロールを追加したい場合は、ResourceViewのダイアログを展開し、 IDD_PROPPAGEn(nは数字)をダブルクリックします
(IDD_PROPPAGEはデフォルトの場合の名前)v
あとは好きなコントロールを配置し、関数や変数を追加して好みでカスタマイズしましょう。