タブ コントロールの作成

タブ コントロールの作成方法は、それをダイアログ ボックスで使用するのか、非ダイアログ ウィンドウで作成するのかによって異なります。

ダイアログボックスで CTabCtrl を直接使用するには

  1. ダイアログ エディターで、ダイアログ テンプレート リソースにタブ コントロールを追加します。 そのコントロール ID を指定します。

  2. メンバー変数の追加ウィザードを使用して、Control プロパティで CTabCtrl 型のメンバー変数を追加します。 このメンバーを使用して、CTabCtrl のメンバー関数を呼び出すことができます。

  3. 処理する必要のあるタブ コントロールの通知メッセージがあれば、ダイアログ クラスのハンドラー関数をマップします。 詳細については、「関数へのメッセージの割り当て」を参照してください。

  4. OnInitDialog で、CTabCtrl のスタイルを設定します。

非ダイアログ ウィンドウで CTabCtrl を使用するには

  1. ビューまたはウィンドウ クラスでコントロールを定義します。

  2. 親ウィンドウの OnCreate ハンドラー関数の直後 (コントロールをサブクラス化している場合)、たとえば OnInitialUpdate で、コントロールの Create メンバー関数を呼び出します。 コントロールのスタイルを設定します。

CTabCtrl オブジェクトの作成後、次の拡張スタイルを設定またはクリアできます。

  • TCS_EX_FLATSEPARATORS タブ コントロールによってタブ項目間の区切りが描画されます。 この拡張スタイルが作用するのは、TCS_BUTTONS スタイルと TCS_FLATBUTTONS スタイルを使用したタブ コントロールだけです。 TCS_FLATBUTTONS スタイルを使用してタブ コントロールを作成すると、この拡張スタイルが既定で設定されます。

  • TCS_EX_REGISTERDROP コントロール内のタブ項目上にオブジェクトがドラッグされたときに、ドロップ先オブジェクトを要求する TCN_GETOBJECT 通知メッセージがタブ コントロールから生成されます。

    Note

    TCN_GETOBJECT 通知を受信するには、AfxOleInit への呼び出しで OLE ライブラリを初期化する必要があります。

これらのスタイルの取得と設定は、コントロールの作成後、それぞれメンバー関数 GetExtendedStyleSetExtendedStyle を使用して行うことができます。

たとえば、TCS_EX_FLATSEPARATORS スタイルを設定するには、次のコード行を使用します。

DWORD dwExStyle = m_TabCtrl.GetExtendedStyle();
m_TabCtrl.SetExtendedStyle(dwExStyle | TCS_EX_FLATSEPARATORS);

CTabCtrl オブジェクトの TCS_EX_FLATSEPARATORS スタイルを解除するには、次のコード行を使用します。

DWORD dwExStyle = m_TabCtrl.GetExtendedStyle();
m_TabCtrl.SetExtendedStyle(dwExStyle & ~TCS_EX_FLATSEPARATORS);

これで、CTabCtrl オブジェクトのボタン間に表示されていた区切りが削除されます。

関連項目

CTabCtrl の使い方
コントロール