タブ コントロールの作成
更新 : 2007 年 11 月
タブ コントロールの作成方法は、コントロールをダイアログ ボックスで使用するか、またはコントロールをダイアログ ボックス以外のウィンドウで作成するかによって異なります。
ダイアログ ボックスで CTabCtrl を直接使用するには
ダイアログ エディタで、[タブ コントロール] をダイアログ テンプレート リソースに追加します。コントロール ID を指定します。
メンバ変数の追加を使用して、Control プロパティが設定された CTabCtrl 型のメンバ変数を追加します。このメンバを使用して、CTabCtrl メンバ関数を呼び出すことができます。
タブ コントロールの処理対象の通知メッセージをダイアログ クラス内のハンドラ関数に割り当てます。詳細については、「関数へのメッセージの割り当て」を参照してください。
OnInitDialog で CTabCtrl のスタイルを設定します。
ダイアログ ボックス以外のウィンドウの CTabCtrl の使用
ビューまたはウィンドウ クラスでコントロールを定義します。
コントロールの Create メンバ関数を呼び出します。コントロールをサブクラス化している場合、OnInitialUpdate 関数内で、親ウィンドウのハンドラ関数 OnCreate を呼び出すのと同じタイミングで呼び出します。コントロールにスタイルを設定します。
CTabCtrl オブジェクトが作成されたら、以下の拡張スタイルを設定または設定解除できます。
TCS_EX_FLATSEPARATORS タブ コントロールはタブ項目間に区切りを描画します。この拡張スタイルは、TCS_BUTTONS スタイルおよび TCS_FLATBUTTONS スタイルが設定されているタブ コントロールだけに適用されます。既定では、TCS_FLATBUTTONS スタイルが設定されたタブ コントロールを作成すると、この拡張スタイルが設定されます。
TCS_EX_REGISTERDROP オブジェクトがコントロール内のタブ項目にドラッグされると、タブ コントロールは TCN_GETOBJECT 通知メッセージを生成して、ドロップ ターゲット オブジェクトを要求します。
メモ : 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 オブジェクトのボタン間に表示されている区切り記号が削除されます。