TVITEMA 構造体 (commctrl.h)

ツリー ビュー 項目の属性を指定または受信します。 この構造体は TV_ITEM 構造と同じですが、現在の名前付け規則に従うように名前が変更されています。 新しいアプリケーションでは、この構造を使用する必要があります。

構文

typedef struct tagTVITEMA {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPSTR     pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
} TVITEMA, *LPTVITEMA;

メンバー

mask

型: UINT

有効なデータを含む他の構造体メンバーのどれを示すフラグの配列。 この構造体を TVM_GETITEM メッセージと共に使用すると、 マスク メンバーは取得する項目属性を示します。 TVM_SETITEM メッセージと共に使用すると、マスクは設定する属性を示します。 このメンバーには、次の値の 1 つ以上を指定できます。

意味
TVIF_CHILDREN
cChildren メンバーは有効です。
TVIF_DI_SETITEM
ツリー ビュー コントロールは、指定された情報を保持し、再び要求しません。 このフラグは、 TVN_GETDISPINFO 通知を処理する場合にのみ有効です。
TVIF_HANDLE
hItem メンバーは有効です。
TVIF_IMAGE
iImage メンバーは有効です。
TVIF_PARAM
lParam メンバーは有効です。
TVIF_SELECTEDIMAGE
iSelectedImage メンバーは有効です。
TVIF_STATE
state メンバーと stateMask メンバーは有効です。
TVIF_TEXT
pszText メンバーと cchTextMax メンバーは有効です。

hItem

種類: HTREEITEM

アイテムを処理します。

state

型: UINT

項目の状態を示すビット フラグとイメージ リスト インデックスのセット。 アイテムの状態を設定すると、 stateMask メンバーは、このメンバーの有効なビットを示します。 アイテムの状態を取得すると、このメンバーは stateMask メンバーに示されているビットの現在の状態を返します。

このメンバーのビット 0 から 7 には、項目の状態フラグが含まれています。 使用可能な項目状態フラグの一覧については、「 ツリー ビュー コントロール項目の状態」を参照してください。

 

オーバーレイ画像は、アイテムのアイコン画像に重ね合わされます。 このメンバーのビット 8 から 11 は、1 ベースのオーバーレイ イメージ インデックスを指定します。 これらのビットが 0 の場合、アイテムにはオーバーレイ イメージがありません。 これらのビットを分離するには、 TVIS_OVERLAYMASK マスクを使用します。 このメンバーのオーバーレイ イメージ インデックスを設定するには、 INDEXTOOVERLAYMASK マクロを使用します。 イメージ リストのオーバーレイ イメージは 、ImageList_SetOverlayImage 関数で設定されます。

 

状態イメージは、アプリケーション定義の状態を示す項目のアイコンの横に表示されます。 TVM_SETIMAGELIST メッセージを送信して、状態イメージ リスト 指定します。 アイテムの状態イメージを設定するには、TVITEM 構造体の stateMask メンバーにTVIS_STATEIMAGEMASK値を含めます。 構造体の 状態 メンバーのビット 12 から 15 は、描画するイメージの状態イメージ リストのインデックスを指定します。

 

状態イメージ インデックスを設定するには、 INDEXTOSTATEIMAGEMASK を使用します。 このマクロはインデックスを受け取り、ビット 12 から 15 を適切に設定します。 アイテムに状態イメージがないことを示すには、インデックスを 0 に設定します。 この規則は、状態イメージ リスト内のイメージ 0 を状態イメージとして使用できないことを意味します。 状態メンバーのビット 12 から 15 を分離するには、TVIS_STATEIMAGEMASK マスクを使用します。

stateMask

型: UINT

有効な 状態 メンバーのビット。 アイテムの状態を取得する場合は、 stateMask メンバーのビットを設定して、 状態 メンバーで返されるビットを示します。 項目の状態を設定する場合は、 stateMask メンバーのビットを設定して、設定する 状態 メンバーのビットを示します。 アイテムのオーバーレイ イメージ インデックスを設定または取得するには、 TVIS_OVERLAYMASK ビットを設定します。 アイテムの状態イメージ インデックスを設定または取得するには、 TVIS_STATEIMAGEMASK ビットを設定します。

pszText

種類: LPTSTR

構造体で項目属性が指定されている場合に、アイテム テキストを含む null で終わる文字列へのポインター。 このメンバーがLPSTR_TEXTCALLBACK値の場合、親ウィンドウは名前の格納を担当します。 この場合、ツリー ビュー コントロールは、表示、並べ替え、または編集用のアイテム テキストが必要な場合は、親ウィンドウにTVN_GETDISPINFO 通知コード を送信し、アイテム テキストが変更されたときに TVN_SETDISPINFO 通知コードを送信します。 構造体がアイテム属性を受け取っている場合、このメンバーはアイテム テキストを受け取るバッファーのアドレスです。 ツリー ビュー コントロールでは、任意の長さの文字列を項目テキストとして格納できますが、最初の 260 文字のみが表示されることに注意してください。

cchTextMax

型: int

pszText メンバーが指すバッファーのサイズ (文字単位)。 この構造体を使用して項目属性を設定する場合、このメンバーは無視されます。

iImage

型: int

ツリー ビュー コントロールのアイコン イメージのイメージ リスト内のインデックス。項目が選択されていない状態のときに使用します。 このメンバーがI_IMAGECALLBACK値の場合、親ウィンドウはインデックスの格納を担当します。 この場合、ツリー ビュー コントロールは親に TVN_GETDISPINFO 通知コードを送信し、イメージを表示する必要があるときにインデックスを取得します。

iSelectedImage

型: int

ツリー ビュー コントロールのアイコン イメージのイメージ リスト内のインデックス。項目が選択した状態のときに使用します。 このメンバーがI_IMAGECALLBACK値の場合、親ウィンドウはインデックスの格納を担当します。 この場合、ツリー ビュー コントロールは親に TVN_GETDISPINFO 通知コードを送信し、イメージを表示する必要があるときにインデックスを取得します。

cChildren

型: int

項目に子項目が関連付けられているかどうかを示すフラグ。 このメンバーには、次のいずれかの値を指定できます。

意味
ゼロ
項目に子項目がありません。
1 つ
項目には 1 つ以上の子項目があります。
I_CHILDRENCALLBACK
親ウィンドウは、アイテムに子項目があるかどうかを追跡します。 この場合、ツリー ビュー コントロールでアイテムを表示する必要がある場合、コントロールは親に TVN_GETDISPINFO 通知コードを送信して、アイテムに子アイテムがあるかどうかを判断します。

ツリー ビュー コントロールに TVS_HASBUTTONS スタイルがある場合、このメンバーを使用して、子項目の存在を示すボタンを表示するかどうかを決定します。 このメンバーを使用すると、項目に子項目が挿入されていない場合でも、コントロールに強制的にボタンを表示させることができます。 これにより、項目が表示または展開されている場合にのみ子項目を挿入することで、コントロールのメモリ使用量を最小限に抑えながらボタンを表示できます。

I_CHILDRENAUTO

バージョン 6.0内部使用を目的としています。アプリケーションでの使用はお勧めしません。 ツリー ビュー コントロールは、項目に子項目があるかどうかを自動的に決定します。

メモ このフラグは、今後のバージョンの Comctl32.dll ではサポートされない場合があります。 また、このフラグは commctrl.h では定義されていません。 フラグを使用するには、アプリケーションのソース ファイルに次の定義を追加します。
#define I_CHILDRENAUTO (-2)
 

lParam

型: LPARAM

アイテムに関連付ける値。

注釈

注意

commctrl.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして TVITEM を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header commctrl.h