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 つ以上を指定できます。
値 | 意味 |
---|---|
|
cChildren メンバーは有効です。 |
|
ツリー ビュー コントロールは、指定された情報を保持し、再び要求しません。 このフラグは、 TVN_GETDISPINFO 通知を処理する場合にのみ有効です。 |
|
バージョン 6.00 と Windows Vista。iExpandedImage メンバーは有効です。 |
|
hItem メンバーは有効です。 |
|
iImage メンバーは有効です。 |
|
iIntegral メンバーは有効です。 |
|
lParam メンバーは有効です。 |
|
iSelectedImage メンバーは有効です。 |
|
state メンバーと stateMask メンバーは有効です。 |
|
バージョン 6.00 と Windows Vista。uStateEx メンバーは有効です。 |
|
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 つ以上の子項目があります。 |
|
親ウィンドウは、アイテムに子項目があるかどうかを追跡します。 この場合、ツリー ビュー コントロールで項目を表示する必要がある場合、コントロールは親に TVN_GETDISPINFO 通知コードを送信して、項目に子項目があるかどうかを判断します。 ツリー ビュー コントロールに TVS_HASBUTTONS スタイルがある場合、このメンバーを使用して、子項目の存在を示すボタンを表示するかどうかを決定します。 このメンバーを使用すると、項目に子項目が挿入されていない場合でも、コントロールにボタンの表示を強制できます。 これにより、項目が表示または展開されている場合にのみ子項目を挿入することで、コントロールのメモリ使用量を最小限に抑えながらボタンを表示できます。 |
|
バージョン 6.0内部使用を目的としています。アプリケーションでの使用は推奨されません。 ツリー ビュー コントロールは、項目に子項目があるかどうかを自動的に決定します。
メモ このフラグは、将来のバージョンの Comctl32.dll ではサポートされない可能性があります。 また、このフラグは commctrl.h では定義されていません。 フラグを使用するには、アプリケーションのソース ファイルに次の定義を追加します。
|
lParam
種類: LPARAM
アイテムに関連付ける値。
iIntegral
型: int
項目の高さ (標準項目の高さの倍数) ( 「TVM_SETITEMHEIGHT」を参照)。 たとえば、このメンバーを 2 に設定すると、項目は標準の高さの 2 倍になります。 ツリー ビュー コントロールは、項目のコンテンツの下に表示される余分な領域には描画されませんが、この領域は、 カスタム描画を使用する場合に描画にアプリケーションで使用できます。 カスタム描画を使用していないアプリケーションでは、動作が未定義であるため、この値を 1 に設定する必要があります。
uStateEx
型: UINT
インターネット エクスプローラー 6 以降。 次の拡張状態の 1 つ以上 (ビットごとの組み合わせ)。
hwnd
種類: HWND
インターネット エクスプローラー 6 以降。 使用されません。 は NULL である必要があります。
iExpandedImage
型: int
インターネット エクスプローラー 6 以降。 項目が展開状態のときに表示するコントロールのイメージ リスト内のイメージのインデックス。
iReserved
型: int
予約済みメンバー。 使用しないでください。
解説
注意
commctrl.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして TVITEMEX を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | commctrl.h |