Share via


ツリー コントロールの親項目と子項目

更新 : 2007 年 11 月

ツリー コントロール (CTreeCtrl) 内のどの項目にも、子項目とも呼ばれるサブ項目の一覧を関連付けることができます。1 つ以上の子項目を含んだ項目は、親項目と呼ばれます。子項目は親項目の下に表示され、その親のサブ項目であることを示すためのインデントが設定されます。親を持たない項目は階層構造の最上部に配置され、ルート項目と呼ばれます。

子項目の一覧はいつでも展開または縮小できます。展開されると、子項目は親項目の下に表示されます。縮小されると、子項目は表示されません。展開と縮小の状態は自動的に切り替えられます。通常は、ユーザーが親項目をダブルクリックするたびに切り替えられます。親項目に TVS_HASBUTTONS スタイルを指定している場合は、ユーザーが親項目に関連付けられたボタンをクリックしたときにも切り替えらます。アプリケーションでは、Expand メンバ関数を使用することで、子項目を展開または縮小できます。

InsertItem メンバ関数を呼び出して、ツリー コントロールに項目を追加します。この関数は、項目を一意に識別する HTREEITEM 型のハンドルを返します。項目を追加する場合は、新しい項目の親項目のハンドルを指定する必要があります。TVINSERTSTRUCT 構造体またはパラメータ hParent で、親項目のハンドルの代わりに NULL 値または TVI_ROOT 値を指定すると、項目はルート項目として追加されます。

子項目の一覧が展開または縮小されるとき、ツリー コントロールは、TVN_ITEMEXPANDING 通知メッセージを送ります。この通知によって、変更を禁止したり、子項目の一覧の状態に応じて変化する親項目の属性を設定したりできます。一覧の状態が変更されると、ツリー コントロールは TVN_ITEMEXPANDED 通知メッセージを送ります。

子項目の一覧が展開されると、子項目には親項目を基準にしたインデントが設定されます。SetIndent メンバ関数を使用して、インデントの幅を設定したり、GetIndent メンバ関数を使用して、現在のインデントの幅を取得したりできます。

参照

概念

コントロール (MFC)

参照

CTreeCtrl の使い方