タブ コントロールの作成
タブ コントロールの作成方法は、それをダイアログ ボックスで使用するのか、非ダイアログ ウィンドウで作成するのかによって異なります。
ダイアログボックスで CTabCtrl を直接使用するには
ダイアログ エディターで、ダイアログ テンプレート リソースにタブ コントロールを追加します。 そのコントロール ID を指定します。
メンバー変数の追加ウィザードを使用して、Control プロパティで CTabCtrl 型のメンバー変数を追加します。 このメンバーを使用して、
CTabCtrl
のメンバー関数を呼び出すことができます。処理する必要のあるタブ コントロールの通知メッセージがあれば、ダイアログ クラスのハンドラー関数をマップします。 詳細については、「関数へのメッセージの割り当て」を参照してください。
OnInitDialog で、
CTabCtrl
のスタイルを設定します。
非ダイアログ ウィンドウで CTabCtrl を使用するには
ビューまたはウィンドウ クラスでコントロールを定義します。
親ウィンドウの OnCreate ハンドラー関数の直後 (コントロールをサブクラス化している場合)、たとえば OnInitialUpdate で、コントロールの Create メンバー関数を呼び出します。 コントロールのスタイルを設定します。
CTabCtrl
オブジェクトの作成後、次の拡張スタイルを設定またはクリアできます。
TCS_EX_FLATSEPARATORS タブ コントロールによってタブ項目間の区切りが描画されます。 この拡張スタイルが作用するのは、TCS_BUTTONS スタイルと TCS_FLATBUTTONS スタイルを使用したタブ コントロールだけです。 TCS_FLATBUTTONS スタイルを使用してタブ コントロールを作成すると、この拡張スタイルが既定で設定されます。
TCS_EX_REGISTERDROP コントロール内のタブ項目上にオブジェクトがドラッグされたときに、ドロップ先オブジェクトを要求する TCN_GETOBJECT 通知メッセージがタブ コントロールから生成されます。
Note
TCN_GETOBJECT 通知を受信するには、AfxOleInit への呼び出しで OLE ライブラリを初期化する必要があります。
これらのスタイルの取得と設定は、コントロールの作成後、それぞれメンバー関数 GetExtendedStyle と SetExtendedStyle を使用して行うことができます。
たとえば、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
オブジェクトのボタン間に表示されていた区切りが削除されます。