タブ・コントロール



共通の画面領域に異なった複数の種類の画面を表示するために使用します。


【タブ札を付ける】
このコントロールは、起動時にタブ札を付加する必要があります。
それには、InsertItem関数を使用します。このとき、タブ札に
付加する名前は、「TC_ITEM」構造体で指定します。

例)"サンプル"というラベルを付加
TC_ITEM tc0;               //タブ札の性格を指定
tc0.mask = TCIF_TEXT;      //タブ表示は文字列形式にする
tc0.pszText = "サンプル"   //タブ札名を指定
tc.iImage = -1;            //タブ札にイメージ表示しない
tc.lParam = 0;             //タブに固有の値を設定
m_tab.InsertItem(0,&tc0);  //0番の札を設定


【CTabCtrl::InsertItem関数】

BOOL InsertItem(int nItem, TC_ITEM* pTabCtrlItem);

戻り値        設定したタブ番号。エラー時は -1 を返す。
nItem         設定するタブ番号。
pTabCtrlItem  タブの詳細を設定したTC_ITEM構造体へのポインタ


[TC_ITEM構造体]
typedef struct _TC_ITEM{
    UNIT   mask;
    UNIT   lpReserved1;
    UNIT   lpReserved2;
    LPSTR  pszText;
    int    cchTextMax;
    int    iImage;
    LPARAM lParam;
}TC_ITEM;

mask       :取得または設定時の有効メンバを指定
             TCIF_ALL      全て有効
             TCIF_TEXT     pszTextが有効
             TCIF_IMAGE    iImageが有効
             TCIF_PARAM    lParamが有効
pszText    :ラベルの文字列
cchTextMax :pszTextが指すバッファのサイズ。情報取得時使用
iImage     :タブにイメージを表示するときに使うイメージリスト内のインデックス
lParam     :タブに関連付けられたアプリケーション定義のデータ


【タブクリックの検出】
  タブがクリックされた時、「TCN_SELCHANGEメッセージ」が発行されます。
そこで、これを検出するためにはClassWizardをを使用して、
「OnSelchangeTab1メンバ関数」を実装します。すると、「TCN_SELCHANGEメッセージ」
が発行される度に「OnSelchangeTab1メンバ関数」が呼び出されることになります。


【主なタブ操作用関数】
関数内容
GetCurSel選択されているタブ番号の取得
SetCurSelタブの選択
SetItemタブの属性を設定
GetItemタブの属性を取得
DeleteItemタブの削除