TVITEMEXA 構造体 (commctrl.h)

ツリー ビュー項目の属性を指定または受信します。 この構造体は、 TVITEM 構造体の機能強化です。 新しいアプリケーションでは、必要に応じてこの構造を使用する必要があります。

構文

typedef struct tagTVITEMEXA {
  UINT      mask;
  HTREEITEM hItem;
  UINT      state;
  UINT      stateMask;
  LPSTR     pszText;
  int       cchTextMax;
  int       iImage;
  int       iSelectedImage;
  int       cChildren;
  LPARAM    lParam;
  int       iIntegral;
  UINT      uStateEx;
  HWND      hwnd;
  int       iExpandedImage;
  int       iReserved;
} TVITEMEXA, *LPTVITEMEXA;

メンバー

mask

型: UINT

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

意味
TVIF_CHILDREN
cChildren メンバーは有効です。
TVIF_DI_SETITEM
ツリー ビュー コントロールは、指定された情報を保持し、再び要求しません。 このフラグは、 TVN_GETDISPINFO 通知を処理する場合にのみ有効です。
TVIF_EXPANDEDIMAGE

バージョン 6.00Windows Vista。iExpandedImage メンバーは有効です。

TVIF_HANDLE
hItem メンバーは有効です。
TVIF_IMAGE
iImage メンバーは有効です。
TVIF_INTEGRAL
iIntegral メンバーは有効です。
TVIF_PARAM
lParam メンバーは有効です。
TVIF_SELECTEDIMAGE
iSelectedImage メンバーは有効です。
TVIF_STATE
state メンバーと stateMask メンバーは有効です。
TVIF_STATEEX

バージョン 6.00Windows Vista。uStateEx メンバーは有効です。

TVIF_TEXT
pszText メンバーと cchTextMax メンバーは有効です。

hItem

型: HTREEITEM

項目へのハンドル。

state

型: UINT

項目の状態を示すビット フラグとイメージ リスト インデックスのセット。 アイテムの状態を設定すると、 stateMask メンバーはこのメンバーの有効なビットを示します。 アイテムの状態を取得するときに、このメンバーは stateMask メンバーで示されているビットの現在の状態を返します。 このメンバーの詳細については、「解説」セクションを参照してください。

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

このメンバーのビット 8 から 11 は、1 から 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

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

iIntegral

型: int

項目の高さ (標準項目の高さの倍数) ( 「TVM_SETITEMHEIGHT」を参照)。 たとえば、このメンバーを 2 に設定すると、項目は標準の高さの 2 倍になります。 ツリー ビュー コントロールは、項目のコンテンツの下に表示される余分な領域には描画されませんが、この領域は、 カスタム描画を使用する場合に描画にアプリケーションで使用できます。 カスタム描画を使用していないアプリケーションでは、動作が未定義であるため、この値を 1 に設定する必要があります。

uStateEx

型: UINT

インターネット エクスプローラー 6 以降。 次の拡張状態の 1 つ以上 (ビットごとの組み合わせ)。

意味
TVIS_EX_DISABLED
Windows Vista 以降。 ユーザーが操作できない灰色で描画されたコントロールを作成します。
TVIS_EX_FLAT
フラット項目を作成します。項目は仮想であり、ツリーには表示されません。代わりに、その子がツリー階層に配置されます。 この状態は、ツリー ビュー コントロールに項目を追加する場合にのみ有効です。
TVIS_EX_HWND
項目の別の HWND を作成します。 この状態は、ツリー ビュー コントロールに項目を追加する場合にのみ有効です。

hwnd

種類: HWND

インターネット エクスプローラー 6 以降。 使用されません。 は NULL である必要があります。

iExpandedImage

型: int

インターネット エクスプローラー 6 以降。 項目が展開状態のときに表示するコントロールのイメージ リスト内のイメージのインデックス。

iReserved

型: int

予約済みメンバー。 使用しないでください。

解説

注意

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

要件

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

関連項目

Tree-View 項目の追加