CTreeCtrl::InsertItem
更新 : 2007 年 11 月
ツリー ビュー コントロールに新しいアイテムを挿入します。
HTREEITEM InsertItem(
LPTVINSERTSTRUCT lpInsertStruct
);
HTREEITEM InsertItem(
UINT nMask,
LPCTSTR lpszItem,
int nImage,
int nSelectedImage,
UINT nState,
UINT nStateMask,
LPARAM lParam,
HTREEITEM hParent,
HTREEITEM hInsertAfter
);
HTREEITEM InsertItem(
LPCTSTR lpszItem,
HTREEITEM hParent = TVI_ROOT,
HTREEITEM hInsertAfter = TVI_LAST
);
HTREEITEM InsertItem(
LPCTSTR lpszItem,
int nImage,
int nSelectedImage,
HTREEITEM hParent = TVI_ROOT,
HTREEITEM hInsertAfter = TVI_LAST
);
パラメータ
lpInsertStruct
挿入するツリー ビュー アイテムの属性を指定する TVINSERTSTRUCT へのポインタ。nMask
設定する属性を指定する整数。Windows SDK の TVITEM 構造体の説明を参照してください。lpszItem
アイテムのテキストを含む文字列のアドレス。nImage
ツリー ビュー コントロールのイメージ リスト内の、アイテムのイメージのインデックス。nSelectedImage
ツリー ビュー コントロールのイメージ リスト内の、アイテムの選択されたイメージのインデックス。nState
アイテムの状態の値を指定します。有効な状態の値の一覧については、Windows SDK の「Tree-View Control Item States」を参照してください。nStateMask
どの状態が設定されるかを指定します。Windows SDK の TVITEM 構造体の説明を参照してください。lParam
アイテムに関連付けられた 32 ビット アプリケーション固有の値。hParent
挿入されたアイテムの親のハンドル。hInsertAfter
新しいアイテムが挿入された後のアイテムのハンドル。
戻り値
正常終了した場合は新しいアイテムのハンドルを返します。それ以外の場合は NULL を返します。
解説
以下の例では、ツリー コントロール アイテムを挿入するとき、それぞれの関数を使用する場合を示しています。
使用例
// Insert a root item using the structure. We must
// initialize a TVINSERTSTRUCT structure and pass its
// address to the call.
TVINSERTSTRUCT tvInsert;
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = _T("United States");
HTREEITEM hCountry = m_TreeCtrl.InsertItem(&tvInsert);
// Insert subitems of that root. Pennsylvania is
// a state in the United States, so its item will be a child
// of the United States item. We won't set any image or states,
// so we supply only the TVIF_TEXT mask flag. This
// override provides nearly complete control over the
// insertion operation without the tedium of initializing
// a structure. If you're going to add lots of items
// to a tree, you might prefer the structure override
// as it affords you a performance win by allowing you
// to initialize some fields of the structure only once,
// outside of your insertion loop.
HTREEITEM hPA = m_TreeCtrl.InsertItem(TVIF_TEXT,
_T("Pennsylvania"), 0, 0, 0, 0, 0, hCountry, NULL);
// Insert the "Washington" item and assure that it is
// inserted after the "Pennsylvania" item. This override is
// more appropriate for conveniently inserting items with
// images.
HTREEITEM hWA = m_TreeCtrl.InsertItem(_T("Washington"),
0, 0, hCountry, hPA);
// We'll add some cities under each of the states.
// The override used here is most appropriate
// for inserting text-only items.
m_TreeCtrl.InsertItem(_T("Pittsburgh"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Harrisburg"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Altoona"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Seattle"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Kalaloch"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Yakima"), hWA, TVI_SORT);
必要条件
ヘッダー : afxcmn.h