次の方法で共有


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 メッセージと共に使用すると、mask メンバーは取得する項目属性を示します。 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
状態 および stateMask メンバーが有効です。
TVIF_TEXT
pszText および cchTextMax メンバーが有効です。

hItem

型: HTREEITEM

アイテムへのハンドル。

state

型: UINT

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

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

 

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

 

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

 

状態イメージ のインデックスを設定するには、INDEXTOSTATEIMAGEMASK使用します。 このマクロはインデックスを受け取り、ビット 12 から 15 を適切に設定します。 アイテムに状態イメージがないことを示すには、インデックスを 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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー commctrl.h