CListCtrl クラス

"リスト ビュー コントロール" の機能をカプセル化します。このコントロールには項目のコレクションを表示され、各項目はイメージ リストのアイコンとラベルで構成されます。

構文

class CListCtrl : public CWnd

メンバー

パブリック コンストラクター

名前 説明
CListCtrl::CListCtrl CListCtrl オブジェクトを構築します。

パブリック メソッド

名前 説明
CListCtrl::ApproximateViewRect リスト ビュー コントロールの項目を表示するために必要な幅と高さを指定します。
CListCtrl::Arrange グリッド上の項目を整列します。
CListCtrl::CancelEditLabel アイテムテキスト編集操作を取り消します。
CListCtrl::Create リスト コントロールを作成し、オブジェクトに CListCtrl アタッチします。
CListCtrl::CreateDragImage 指定した項目のドラッグ イメージ リストを作成します。
CListCtrl::CreateEx 指定した Windows 拡張スタイルを使用してリスト コントロールを作成し、オブジェクトに CListCtrl アタッチします。
CListCtrl::DeleteAllItems コントロールからすべての項目を削除します。
CListCtrl::DeleteColumn リスト ビュー コントロールから列を削除します。
CListCtrl::DeleteItem コントロールから項目を削除します。
CListCtrl::DrawItem 所有者描画コントロールの視覚的な側面が変更されたときに呼び出されます。
CListCtrl::EditLabel アイテムのテキストのインプレース編集を開始します。
CListCtrl::EnableGroupView リスト ビュー コントロール内の項目をグループとして表示するかどうかを有効または無効にします。
CListCtrl::EnsureVisible 項目が確実に表示されるようにします。
CListCtrl::FindItem 指定した特性を持つリスト ビュー項目を検索します。
CListCtrl::GetBkColor リスト ビュー コントロールの背景色を取得します。
CListCtrl::GetBkImage リスト ビュー コントロールの現在の背景画像を取得します。
CListCtrl::GetCallbackMask リスト ビュー コントロールのコールバック マスクを取得します。
CListCtrl::GetCheck アイテムに関連付けられている状態イメージの現在の表示状態を取得します。
CListCtrl::GetColumn コントロールの列の属性を取得します。
CListCtrl::GetColumnOrderArray リスト ビュー コントロールの列の順序 (左から右) を取得します。
CListCtrl::GetColumnWidth レポート ビューまたはリスト ビューの列の幅を取得します。
CListCtrl::GetCountPerPage リスト ビュー コントロールに垂直方向に収めることができる項目の数を計算します。
CListCtrl::GetEditControl アイテムのテキストを編集するために使用する編集コントロールのハンドルを取得します。
CListCtrl::GetEmptyText 現在のリスト ビュー コントロールが空の場合に表示する文字列を取得します。
CListCtrl::GetExtendedStyle リスト ビュー コントロールの現在の拡張スタイルを取得します。
CListCtrl::GetFirstSelectedItemPosition リスト ビュー コントロールで最初に選択したリスト ビュー 項目の位置を取得します。
CListCtrl::GetFocusedGroup 現在のリスト ビュー コントロールにキーボード フォーカスがあるグループを取得します。
CListCtrl::GetGroupCount 現在のリスト ビュー コントロール内のグループの数を取得します。
CListCtrl::GetGroupInfo リスト ビュー コントロールの指定したグループの情報を取得します。
CListCtrl::GetGroupInfoByIndex 現在のリスト ビュー コントロール内の指定したグループに関する情報を取得します。
CListCtrl::GetGroupMetrics グループのメトリックを取得します。
CListCtrl::GetGroupRect 現在のリスト ビュー コントロール内の指定したグループの外接する四角形を取得します。
CListCtrl::GetGroupState 現在のリスト ビュー コントロール内の指定したグループの状態を取得します。
CListCtrl::GetHeaderCtrl リスト ビュー コントロールのヘッダー コントロールを取得します。
CListCtrl::GetHotCursor リスト ビュー コントロールに対してホット トラッキングが有効になっているときに使用されるカーソルを取得します。
CListCtrl::GetHotItem 現在カーソルの下にあるリスト ビュー項目を取得します。
CListCtrl::GetHoverTime リスト ビュー コントロールの現在のホバー時間を取得します。
CListCtrl::GetImageList リスト ビューアイテムの描画に使用されるイメージ リストのハンドルを取得します。
CListCtrl::GetInsertMark 挿入マークの現在位置を取得します。
CListCtrl::GetInsertMarkColor 挿入マークの現在の色を取得します。
CListCtrl::GetInsertMarkRect 挿入ポイントを囲む四角形を取得します。
CListCtrl::GetItem リスト ビュー アイテムの属性を取得します。
CListCtrl::GetItemCount リスト ビュー コントロール内の項目の数を取得します。
CListCtrl::GetItemData 項目に関連付けられているアプリケーション固有の値を取得します。
CListCtrl::GetItemIndexRect 現在のリスト ビュー コントロールのサブ項目のすべてまたは一部の外接する四角形を取得します。
CListCtrl::GetItemPosition リスト ビュー アイテムの位置を取得します。
CListCtrl::GetItemRect 項目の外接する四角形を取得します。
CListCtrl::GetItemSpacing 現在のリスト ビュー コントロール内の項目間の間隔を計算します。
CListCtrl::GetItemState リスト ビュー アイテムの状態を取得します。
CListCtrl::GetItemText リスト ビュー項目またはサブ項目のテキストを取得します。
CListCtrl::GetNextItem 指定したプロパティを持ち、指定したアイテムとのリレーションシップを持つリスト ビュー アイテムを検索します。
CListCtrl::GetNextItemIndex 指定したプロパティ セットを持つ現在のリスト ビュー コントロール内の項目のインデックスを取得します。
CListCtrl::GetNextSelectedItem リスト ビュー項目の位置のインデックスと、反復処理のために選択した次のリスト ビュー 項目の位置を取得します。
CListCtrl::GetNumberOfWorkAreas リスト ビュー コントロールの現在の作業領域の数を取得します。
CListCtrl::GetOrigin リスト ビュー コントロールの現在のビューの原点を取得します。
CListCtrl::GetOutlineColor リスト ビュー コントロールの境界線の色を取得します。
CListCtrl::GetSelectedColumn リスト コントロールで現在選択されている列のインデックスを取得します。
CListCtrl::GetSelectedCount リスト ビュー コントロールで選択されている項目の数を取得します。
CListCtrl::GetSelectionMark リスト ビュー コントロールの選択マークを取得します。
CListCtrl::GetStringWidth 指定されたすべての文字列を表示するために必要な最小列幅を決定します。
CListCtrl::GetSubItemRect リスト ビュー コントロール内の項目の外接する四角形を取得します。
CListCtrl::GetTextBkColor リスト ビュー コントロールのテキストの背景色を取得します。
CListCtrl::GetTextColor リスト ビュー コントロールのテキストの色を取得します。
CListCtrl::GetTileInfo リスト ビュー コントロール内のタイルに関する情報を取得します。
CListCtrl::GetTileViewInfo タイル ビューのリスト ビュー コントロールに関する情報を取得します。
CListCtrl::GetToolTips リスト ビュー コントロールがツールヒントの表示に使用するツールヒント コントロールを取得します。
CListCtrl::GetTopIndex 最上位に表示される項目のインデックスを取得します。
CListCtrl::GetView リスト ビュー コントロールのビューを取得します。
CListCtrl::GetViewRect リスト ビュー コントロール内のすべての項目の外接する四角形を取得します。
CListCtrl::GetWorkAreas リスト ビュー コントロールの現在の作業領域を取得します。
CListCtrl::HasGroup リスト ビュー コントロールに指定したグループがあるかどうかを判断します。
CListCtrl::HitTest 指定した位置にあるリスト ビュー 項目を決定します。
CListCtrl::InsertColumn リスト ビュー コントロールに新しい列を挿入します。
CListCtrl::InsertGroup リスト ビュー コントロールにグループを挿入します。
CListCtrl::InsertGroupSorted 指定したグループをグループの順序付きリストに挿入します。
CListCtrl::InsertItem リスト ビュー コントロールに新しい項目を挿入します。
CListCtrl::InsertMarkHitTest 指定したポイントに最も近い挿入ポイントを取得します。
CListCtrl::IsGroupViewEnabled リスト ビュー コントロールに対してグループ ビューを有効にするかどうかを指定します。
CListCtrl::IsItemVisible 現在のリスト ビュー コントロール内の指定した項目が表示されるかどうかを示します。
CListCtrl::MapIDToIndex 現在のリスト ビュー コントロール内の項目の一意の ID をインデックスにマップします。
CListCtrl::MapIndexToID 現在のリスト ビュー コントロール内の項目のインデックスを一意の ID にマップします。
CListCtrl::MoveGroup 指定したグループを移動します。
CListCtrl::MoveItemToGroup 指定したグループを、リスト ビュー コントロールの指定した 0 から始まるインデックスに移動します。
CListCtrl::RedrawItems リスト ビュー コントロールで、項目の範囲を強制的に再描画します。
CListCtrl::RemoveAllGroups リスト ビュー コントロールからすべてのグループを削除します。
CListCtrl::RemoveGroup リスト ビュー コントロールから指定したグループを削除します。
CListCtrl::Scroll リスト ビュー コントロールの内容をスクロールします。
CListCtrl::SetBkColor リスト ビュー コントロールの背景色を設定します。
CListCtrl::SetBkImage リスト ビュー コントロールの現在の背景イメージを設定します。
CListCtrl::SetCallbackMask リスト ビュー コントロールのコールバック マスクを設定します。
CListCtrl::SetCheck アイテムに関連付けられている状態イメージの現在の表示状態を設定します。
CListCtrl::SetColumn リスト ビュー列の属性を設定します。
CListCtrl::SetColumnOrderArray リスト ビュー コントロールの列の順序 (左から右) を設定します。
CListCtrl::SetColumnWidth レポート ビューまたはリスト ビューの列の幅を変更します。
CListCtrl::SetExtendedStyle リスト ビュー コントロールの現在の拡張スタイルを設定します。
CListCtrl::SetGroupInfo リスト ビュー コントロールの指定したグループの情報を設定します。
CListCtrl::SetGroupMetrics リスト ビュー コントロールのグループ メトリックを設定します。
CListCtrl::SetHotCursor リスト ビュー コントロールでホット トラッキングが有効な場合に使用されるカーソルを設定します。
CListCtrl::SetHotItem リスト ビュー コントロールの現在のホットアイテムを設定します。
CListCtrl::SetHoverTime リスト ビュー コントロールの現在のホバー時間を設定します。
CListCtrl::SetIconSpacing リスト ビュー コントロール内のアイコン間の間隔を設定します。
CListCtrl::SetImageList リスト ビュー コントロールにイメージ リストを割り当てます。
CListCtrl::SetInfoTip ツールヒントのテキストを設定します。
CListCtrl::SetInsertMark 挿入ポイントを定義された位置に設定します。
CListCtrl::SetInsertMarkColor 挿入ポイントの色を設定します。
CListCtrl::SetItem リスト ビュー アイテムの属性の一部またはすべてを設定します。
CListCtrl::SetItemCount 多数の項目を追加するためのリスト ビュー コントロールを準備します。
CListCtrl::SetItemCountEx 仮想リスト ビュー コントロールの項目数を設定します。
CListCtrl::SetItemData 項目のアプリケーション固有の値を設定します。
CListCtrl::SetItemIndexState 現在のリスト ビュー コントロール内の項目の状態を設定します。
CListCtrl::SetItemPosition リスト ビュー コントロール内の指定した位置に項目を移動します。
CListCtrl::SetItemState リスト ビュー コントロール内の項目の状態を変更します。
CListCtrl::SetItemText リスト ビュー項目またはサブ項目のテキストを変更します。
CListCtrl::SetOutlineColor リスト ビュー コントロールの境界線の色を設定します。
CListCtrl::SetSelectedColumn リスト ビュー コントロールの選択した列を設定します。
CListCtrl::SetSelectionMark リスト ビュー コントロールの選択マークを設定します。
CListCtrl::SetTextBkColor リスト ビュー コントロール内のテキストの背景色を設定します。
CListCtrl::SetTextColor リスト ビュー コントロールのテキストの色を設定します。
CListCtrl::SetTileInfo リスト ビュー コントロールのタイルの情報を設定します。
CListCtrl::SetTileViewInfo リスト ビュー コントロールがタイル ビューで使用する情報を設定します。
CListCtrl::SetToolTips リスト ビュー コントロールがツールヒントの表示に使用するツールヒント コントロールを設定します。
CListCtrl::SetView リスト ビュー コントロールのビューを設定します。
CListCtrl::SetWorkAreas リスト ビュー コントロールにアイコンを表示できる領域を設定します。
CListCtrl::SortGroups リスト ビュー コントロールのグループをユーザー定義関数で並べ替えます。
CListCtrl::SortItems アプリケーション定義比較関数を使用してリスト ビュー項目を並べ替えます。
CListCtrl::SortItemsEx アプリケーション定義比較関数を使用してリスト ビュー項目を並べ替えます。
CListCtrl::SubItemHitTest 特定の位置にあるリスト ビュー項目 (存在する場合) を決定します。
CListCtrl::Update 指定した項目を強制的に再描画します。

解説

アイコンとラベルに加えて、各項目には、アイコンとラベルの右側の列に情報を表示できます。 このコントロール (したがって CListCtrl 、クラス) は、Windows 95/98 および Windows NT バージョン 3.51 以降で実行されているプログラムでのみ使用できます。

クラスの簡単な概要を次に CListCtrl 示します。 概念的な詳細な説明については、「使用CListCtrl制御」を参照してください。

表示

リスト ビュー コントロールは、"ビュー" と呼ばれる 4 つの異なる方法でコンテンツを表示できます。

  • アイコン ビュー

    各項目は、フルサイズのアイコン (32 x 32 ピクセル) として表示され、その下にラベルが付いています。 ユーザーは、リスト ビュー ウィンドウ内の任意の場所に項目をドラッグできます。

  • 小さいアイコン ビュー

    各項目は小さなアイコン (16 x 16 ピクセル) として表示され、右側にラベルが付いています。 ユーザーは、リスト ビュー ウィンドウ内の任意の場所に項目をドラッグできます。

  • リスト ビュー

    各項目は、その右側にラベルが付いた小さなアイコンとして表示されます。 項目は列に配置され、リスト ビュー ウィンドウ内の任意の場所にドラッグすることはできません。

  • レポート ビュー

    各項目は独自の行に表示され、右側の列に追加情報が配置されます。 左端の列には小さなアイコンとラベルが含まれており、後続の列にはアプリケーションで指定されたサブ項目が含まれます。 埋め込みヘッダー コントロール (クラス CHeaderCtrl) は、これらの列を実装します。 レポート ビューのヘッダー コントロールと列の詳細については、「使用CListCtrl: コントロールへの列の追加 (レポート ビュー)」を参照してください

コントロールの現在のリスト ビューのスタイルによって、現在のビューが決まります。 これらのスタイルとその使用法の詳細については、「使用CListCtrl: リスト コントロール スタイルの変更」を参照してください

拡張スタイル

標準のリスト スタイルに加えて、クラス CListCtrl は拡張スタイルの大規模なセットをサポートし、強化された機能を提供します。 この機能の例を次に示します。

  • ホバー選択

    有効にすると、カーソルが一定期間にわたって項目に再メインされたときに、項目を自動的に選択できます。

  • 仮想リスト ビュー

    有効にすると、コントロールは最大 DWORD 項目をサポートできます。 これは、アプリケーションで項目データを管理するオーバーヘッドを配置することによって可能です。 項目の選択とフォーカス情報を除き、すべての項目情報をアプリケーションで管理する必要があります。 詳細については、「使用: CListCtrl仮想リスト コントロール」を参照してください

  • 1 回と 2 回のクリックによるアクティブ化

    有効にすると、ホット トラッキング (アイテム テキストの自動強調表示) と、強調表示されたアイテムの 1 クリックまたは 2 回クリックによるアクティブ化が許可されます。

  • 列のドラッグ アンド ドロップ順序

    有効にすると、リスト ビュー コントロール内の列をドラッグ アンド ドロップで並べ替えることができます。 レポート ビューでのみ使用できます。

これらの新しい拡張スタイルの使用方法については、「使用CListCtrl: リスト コントロール スタイルの変更」を参照してください

アイテムとサブ項目

リスト ビュー コントロール内の各項目は、アイコン (イメージ リストから)、ラベル、現在の状態、およびアプリケーション定義値 ("項目データ" と呼ばれます) で構成されます。 1 つ以上のサブ項目を各項目に関連付けることもできます。 "サブ項目" は、レポート ビューで、アイテムのアイコンとラベルの右側の列に表示できる文字列です。 リスト ビュー コントロール内のすべての項目は、同じ数のサブ項目を持つ必要があります。

クラス CListCtrl には、これらの項目を挿入、削除、検索、および変更するための関数がいくつか用意されています。 詳細については、「コントロールCListCtrl::GetItemCListCtrl::FindItemCListCtrl::InsertItemへの項目の追加」、「リスト コントロールでのスクロール、配置、並べ替え、検索」を参照してください。

既定では、リスト ビュー コントロールはアイテムのアイコンとテキスト属性を格納します。 ただし、これらの項目型に加えて、クラス CListCtrl では "コールバック項目" がサポートされます。"コールバック項目" は、コントロールではなくアプリケーションがテキスト、アイコン、またはその両方を格納するリスト ビュー項目です。 コールバック マスクは、アプリケーションによって提供される項目属性 (テキストやアイコン) を指定するために使用されます。 アプリケーションでコールバック項目を使用する場合は、テキスト属性やアイコン属性をオンデマンドで指定できる必要があります。 コールバック項目は、アプリケーションがこの情報の一部を既にメイン場合に役立ちます。 詳細については、「使用: CListCtrlコールバック項目とコールバック マスク」を参照してください

イメージ リスト

リスト ビュー項目のアイコン、ヘッダー項目イメージ、およびアプリケーションで定義された状態は、リスト ビュー コントロールを作成して割り当てる複数のイメージ リスト (クラス CImageListによって実装) に含まれています。 各リスト ビュー コントロールには、最大 4 種類の画像リストを含めることができます。

  • 大きいアイコン

    フルサイズのアイコンのアイコン ビューで使用されます。

  • 小さいアイコン

    アイコン ビューで使用されるアイコンの小さいバージョンに対して、小さいアイコン、リスト、およびレポート ビューで使用されます。

  • アプリケーション定義の状態

    状態イメージが含まれています。これは、アプリケーション定義の状態を示す項目のアイコンの横に表示されます。

  • ヘッダー項目

    レポート ビューで、各ヘッダー コントロール アイテムに表示される小さな画像に使用されます。

既定では、リスト ビュー コントロールは、破棄されたときに割り当てられたイメージ リストを破棄します。ただし、開発者は、アプリケーションによって決定された各イメージ リストが使用されなくなったときに破棄することで、この動作をカスタマイズできます。 詳細については、「使用: CListCtrlリスト アイテムとイメージ リスト」を参照してください。

継承階層

CObject

CCmdTarget

CWnd

CListCtrl

必要条件

ヘッダー:afxcmn.h

CListCtrl::ApproximateViewRect

リスト ビュー コントロールの項目を表示するために必要な幅と高さを指定します。

CSize ApproximateViewRect(
    CSize sz = CSize(-1, -1),
    int iCount = -1) const;

パラメーター

sz
コントロールの提案された寸法 (ピクセル単位)。 ディメンションが指定されていない場合、フレームワークはコントロールの現在の幅または高さの値を使用します。

iCount
コントロールに表示する項目の数。 コントロール内の現在の項目の合計数を使用するには、-1 を渡します。

戻り値

CSize項目を表示するために必要なおおよその幅と高さをピクセル単位で格納するオブジェクト。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_ApproximateViewRectWin32 マクロの動作を実装します。

CListCtrl::Arrange

アイコン ビュー内の項目をグリッド上に配置するように位置を変更します。

BOOL Arrange(UINT nCode);

パラメーター

nCode
項目の配置スタイルを指定します。 次のいずれかの値を指定できます。

  • LVA_ALIGNLEFT ウィンドウの左端に沿って項目を配置します。
  • LVA_ALIGNTOP ウィンドウの上端に沿って項目を配置します。
  • LVA_DEFAULT リスト ビューの現在の配置スタイル (既定値) に従って項目を整列します。
  • LVA_SNAPTOGRID すべてのアイコンを最も近いグリッド位置にスナップします。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このパラメーターは nCode 、配置スタイルを指定します。

// Align all of the list view control items along the top
// of the window (the list view control must be in icon or
// small icon mode).
m_myListCtrl.Arrange(LVA_ALIGNTOP);

CListCtrl::CancelEditLabel

アイテムテキスト編集操作を取り消します。

void CancelEditLabel();

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_CANCELEDITLABEL 機能をエミュレートします。

CListCtrl::CListCtrl

CListCtrl オブジェクトを構築します。

CListCtrl();

CListCtrl::Create

リスト コントロールを作成し、オブジェクトに CListCtrl アタッチします。

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

パラメーター

dwStyle
リスト コントロールのスタイルを指定します。 リスト コントロール スタイルの任意の組み合わせをコントロールに適用します。 これらのスタイルの完全な一覧については、Windows SDK のリスト ビュー ウィンドウ スタイルを参照してください。 を使用して SetExtendedStyleコントロールに固有の拡張スタイルを設定します。

rect
リスト コントロールのサイズと位置を指定します。 オブジェクトまたはRECT構造体をCRect指定できます。

pParentWnd
リスト コントロールの親ウィンドウ (通常は .CDialog NULL は指定できません。

nID
リスト コントロールの ID を指定します。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

2 つの手順で作成 CListCtrl します。 まず、コンストラクターを呼び出してから呼び出 Createします。これにより、リスト ビュー コントロールが作成され、オブジェクトに CListCtrl アタッチされます。

拡張 Windows スタイルをリスト コントロール オブジェクトに適用するには、次のCreate代わりに呼び出CreateExします。

m_myListCtrl.Create(
    WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
    CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);

CListCtrl::CreateEx

コントロール (子ウィンドウ) を作成し、オブジェクトに CListCtrl 関連付けます。

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

パラメーター

dwExStyle
作成するコントロールの拡張スタイルを指定します。 拡張 Windows スタイルの一覧については、Windows SDK の dwExStyle パラメーター CreateWindowEx を参照してください。

dwStyle
リスト コントロールのスタイルを指定します。 リスト コントロール スタイルの任意の組み合わせをコントロールに適用します。 これらのスタイルの完全な一覧については、Windows SDK のリスト ビュー ウィンドウ スタイルを参照してください

rect
作成するウィンドウの RECT サイズと位置をクライアント座標 pParentWndで記述する構造体への参照。

pParentWnd
コントロールの親であるウィンドウへのポインター。

nID
コントロールの子ウィンドウ ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

Windows 拡張スタイルのCreate前書WS_EX_きで指定された拡張 Windows スタイルを適用する代わりに使用CreateExします。

CreateEx によって指定された拡張 Windows スタイルを使用してコントロールを作成します dwExStyle。 コントロールに固有の拡張スタイルを設定するには、次を呼び出します SetExtendedStyle。 たとえば、CreateExWS_EX_CONTEXTHELPなどのスタイルを設定する場合に使用しますが、LVS_EX_FULLROWStandard Edition LECT などのスタイルを設定する場合に使用SetExtendedStyleします。 詳細については、Windows SDK の拡張リスト ビュー スタイルに関する記事 で説明されているスタイル を参照してください。

CListCtrl::CreateDragImage

で指定した項目のドラッグ 画像リストを作成 nItemします。

CImageList* CreateDragImage(
    int nItem,
    LPPOINT lpPoint);

パラメーター

*nItem*
ドラッグ イメージ リストを作成するアイテムのインデックス。

lpPoint
画像の左上隅の POINT 最初の位置をビュー座標で受け取る構造体のアドレス。

戻り値

成功した場合のドラッグ 画像リストへのポインター。それ以外の場合 NULLは .

解説

オブジェクトは CImageList 永続的であり、完了したら削除する必要があります。 次に例を示します。

CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);

// do something

delete pImageList;

CListCtrl::DeleteAllItems

リスト ビュー コントロールからすべての項目を削除します。

BOOL DeleteAllItems();

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);

CListCtrl::DeleteColumn

リスト ビュー コントロールから列を削除します。

BOOL DeleteColumn(int nCol);

パラメーター

nCol
削除する列のインデックス。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();

// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
    m_myListCtrl.DeleteColumn(0);
}

CListCtrl::DeleteItem

リスト ビュー コントロールから項目を削除します。

BOOL DeleteItem(int nItem);

パラメーター

nItem
削除する項目のインデックスを指定します。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

int nCount = m_myListCtrl.GetItemCount();

// Delete all of the items from the list view control.
for (int i=0; i < nCount; i++)
{
    m_myListCtrl.DeleteItem(0);
}

CListCtrl::DrawItem

所有者描画リスト ビュー コントロールの視覚的な側面が変更されたときにフレームワークによって呼び出されます。

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

パラメーター

lpDrawItemStruct
必要な描画の DRAWITEMSTRUCT 種類に関する情報を含む構造体への長いポインター。

解説

構造体のメンバーは itemActionDRAWITEMSTRUCT 実行する描画アクションを定義します。

既定では、このメンバー関数は何も行いません。 所有者描画 CListCtrl オブジェクトの描画を実装するには、このメンバー関数をオーバーライドします。

アプリケーションは、このメンバー関数が終了する前に、指定された lpDrawItemStruct 表示コンテキストに対して選択されているすべてのグラフィックス デバイス インターフェイス (GDI) オブジェクトを復元する必要があります。

CListCtrl::EditLabel

アイテムのテキストのインプレース編集を開始します。

CEdit* EditLabel(int nItem);

パラメーター

nItem
編集するリスト ビュー アイテムのインデックス。

戻り値

成功した場合は、アイテムテキストの CEdit 編集に使用されるオブジェクトへのポインター。それ以外の場合 NULLは .

解説

ウィンドウ スタイルを持つ LVS_EDITLABELS リスト ビュー コントロールを使用すると、ユーザーはアイテム ラベルをインプレースで編集できます。 ユーザーは、フォーカスがある項目のラベルをクリックして編集を開始します。

この関数を使用して、指定したリスト ビュー アイテムのテキストのインプレース編集を開始します。

// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();

// Show the edit control on the label of the first
// item in the list view control.
CEdit* pmyEdit = m_myListCtrl.EditLabel(1);
ASSERT(pmyEdit != NULL);

CListCtrl::EnableGroupView

リスト ビュー コントロール内の項目をグループとして表示するかどうかを有効または無効にします。

LRESULT EnableGroupView(BOOL fEnable);

パラメーター

fEnable
リスト ビュー コントロールを有効にして、表示される項目をグループ化するかどうかを示します。 TRUE グループ化を有効にする場合。 FALSE を選択して無効にします。

戻り値

次の値のいずれか。

  • 0 リスト ビュー項目をグループとして表示する機能は、既に有効または無効になっています。
  • 1 コントロールの状態が正常に変更されました。
  • -1 操作に失敗しました。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_ENABLEGROUPVIEW 機能をエミュレートします。

CListCtrl::EnsureVisible

リスト ビューアイテムが少なくとも部分的に表示されるようにします。

BOOL EnsureVisible(
    int nItem,
    BOOL bPartialOK);

パラメーター

nItem
表示するリスト ビュー項目のインデックス。

bPartialOK
部分的な可視性を許容できるかどうかを指定します。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

必要に応じて、リスト ビュー コントロールがスクロールされます。 bPartialOK パラメーターが 0 以外の場合、項目が部分的に表示されている場合、スクロールは発生しません。

// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
    m_myListCtrl.EnsureVisible(nCount-1, FALSE);

CListCtrl::FindItem

指定した特性を持つリスト ビュー項目を検索します。

int FindItem(
    LVFINDINFO* pFindInfo,
    int nStart = -1) const;

パラメーター

pFindInfo
検索対象の LVFINDINFO 項目に関する情報を含む構造体へのポインター。

nStart
検索を開始する項目のインデックス、または最初から開始する -1。 項目が nStart -1 でない場合 nStart 、検索から除外されます。

戻り値

成功した場合は項目のインデックス、それ以外の場合は -1。

解説

このパラメーターは pFindInfo 、リスト ビュー アイテムの LVFINDINFO 検索に使用される情報を含む構造体を指します。

LVFINDINFO info;
int nIndex;

info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = _T("item");

// Delete all of the items that begin with the string.
while ((nIndex = m_myListCtrl.FindItem(&info)) != -1)
{
    m_myListCtrl.DeleteItem(nIndex);
}

CListCtrl::GetBkColor

リスト ビュー コントロールの背景色を取得します。

COLORREF GetBkColor() const;

戻り値

RGB 色を指定するために使用される 32 ビット値。

CListCtrl::SetBkColor の例を参照してください。

CListCtrl::GetBkImage

リスト ビュー コントロールの現在の背景画像を取得します。

BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;

パラメーター

plvbkImage
リスト ビューの LVBKIMAGE 現在の背景画像を含む構造体へのポインター。

戻り値

成功した場合は 0 以外、それ以外の場合は 0 を返します。

解説

このメソッドは、Windows SDK で説明されているように、 ListView_GetBkImageWin32 マクロの動作を実装します。

LVBKIMAGE bki;

// If no background image is set for the list view control use
// the Microsoft homepage image as the background image.
if (m_myListCtrl.GetBkImage(&bki) && (bki.ulFlags == LVBKIF_SOURCE_NONE))
{
    m_myListCtrl.SetBkImage(
        _T("https://www.microsoft.com/library/images/gifs/homepage/microsoft.gif"),
        TRUE);
}

CListCtrl::GetCallbackMask

リスト ビュー コントロールのコールバック マスクを取得します。

UINT GetCallbackMask() const;

戻り値

リスト ビュー コントロールのコールバック マスク。

解説

"コールバック項目" は、コントロールではなくアプリケーションがテキスト、アイコン、またはその両方を格納するリスト ビュー項目です。 リスト ビュー コントロールにはこれらの属性を格納できますが、アプリケーションに既にこの情報の一部が含メイン場合は、コールバック項目を使用できます。 コールバック マスクは、アプリケーションによってメインに保持される項目状態ビットを指定し、特定の項目ではなくコントロール全体に適用されます。 コールバック マスクの既定値はゼロです。これは、項目のすべての状態がそのコントロールによって追跡されることを意味します。 アプリケーションがコールバック項目を使用する場合、または 0 以外のコールバック マスクを指定する場合は、必要に応じてリスト ビュー項目属性を指定できる必要があります。

CListCtrl::SetCallbackMask の例を参照してください。

CListCtrl::GetCheck

アイテムに関連付けられている状態イメージの現在の表示状態を取得します。

BOOL GetCheck(int nItem) const;

パラメーター

nItem
リスト コントロール項目の 0 から始まるインデックス。

戻り値

項目が選択されている場合は 0 以外、それ以外の場合は 0。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetCheckStateWin32 マクロの動作を実装します。

CListCtrl::SetCheck の例を参照してください。

CListCtrl::GetColumn

リスト ビュー コントロールの列の属性を取得します。

BOOL GetColumn(
    int nCol,
    LVCOLUMN* pColumn) const;

パラメーター

nCol
属性を取得する列のインデックス。

pColumn
列に関する情報を LVCOLUMN 取得および受信する情報を指定する構造体のアドレス。 このメンバーは mask 、取得する列属性を指定します。 メンバーが mask LVCF_TEXT値を指定する場合、 pszText メンバーには項目テキストを受け取るバッファーのアドレスが含まれている必要があり、 cchTextMax メンバーはバッファーのサイズを指定する必要があります。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

構造には LVCOLUMN 、レポート ビューの列に関する情報が含まれています。

LVCOLUMN col;

col.mask = LVCF_WIDTH;

// Double the column width of the first column.
if (m_myListCtrl.GetColumn(0, &col))
{
    col.cx *= 2;
    m_myListCtrl.SetColumn(0, &col);
}

CListCtrl::GetColumnOrderArray

リスト ビュー コントロールの列の順序 (左から右) を取得します。

BOOL GetColumnOrderArray(
    LPINT piArray,
    int iCount = -1);

パラメーター

piArray
リスト ビュー コントロール内の列のインデックス値を格納するバッファーへのポインター。 バッファーは、リスト ビュー コントロール内の列の合計数を格納するのに十分な大きさである必要があります。

iCount
リスト ビュー コントロール内の列の数。 このパラメーターが -1 の場合、列の数はフレームワークによって自動的に取得されます。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetColumnOrderArrayWin32 マクロの動作を実装します。

// Reverse the order of the columns in the list view control
// (i.e. make the first column the last, the last column
// the first, and so on...).
CHeaderCtrl* pHeaderCtrl = m_myListCtrl.GetHeaderCtrl();

if (pHeaderCtrl != NULL)
{
    int  nColumnCount = pHeaderCtrl->GetItemCount();
    LPINT pnOrder = (LPINT) malloc(nColumnCount*sizeof(int));
    ASSERT(pnOrder != NULL);
    m_myListCtrl.GetColumnOrderArray(pnOrder, nColumnCount);

    int i, j, nTemp;
    for (i = 0, j = nColumnCount-1; i < j; i++, j--)
    {
        nTemp = pnOrder[i];
        pnOrder[i] = pnOrder[j];
        pnOrder[j] = nTemp;
    }

    m_myListCtrl.SetColumnOrderArray(nColumnCount, pnOrder);
    free(pnOrder);
}

CListCtrl::GetColumnWidth

レポート ビューまたはリスト ビューの列の幅を取得します。

int GetColumnWidth(int nCol) const;

パラメーター

nCol
幅を取得する列のインデックスを指定します。

戻り値

で指定された nCol列の幅 (ピクセル単位)。

// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);

CListCtrl::GetCountPerPage

リスト ビューまたはレポート ビューの場合に、リスト ビュー コントロールの表示領域に垂直方向に収まるアイテムの数を計算します。

int GetCountPerPage() const;

戻り値

リスト ビューまたはレポート ビューの場合にリスト ビュー コントロールの表示領域に垂直方向に収まるアイテムの数。

CListCtrl::GetTopIndex の例を参照してください。

CListCtrl::GetEditControl

リスト ビュー 項目のテキストを編集するために使用する編集コントロールのハンドルを取得します。

CEdit* GetEditControl() const;

戻り値

成功した場合は、アイテムテキストの CEdit 編集に使用されるオブジェクトへのポインター。それ以外の場合 NULLは .

// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("custom label!");

// If possible, replace the text in the label edit control.
CEdit* pEdit = m_myListCtrl.GetEditControl();

if (pEdit != NULL)
{
    pEdit->SetWindowText(lpszmyString);
}

CListCtrl::GetEmptyText

現在のリスト ビュー コントロールが空の場合に表示する文字列を取得します。

CString GetEmptyText() const;

戻り値

コントロールが空の場合に表示するテキストを含む A CString

解説

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETEMPTYTEXT します。

CListCtrl::GetExtendedStyle

リスト ビュー コントロールの現在の拡張スタイルを取得します。

DWORD GetExtendedStyle();

戻り値

リスト ビュー コントロールで現在使用されている拡張スタイルの組み合わせ。 これらの拡張スタイルの説明的な一覧については、Windows SDK の 拡張リスト ビュー スタイル に関する記事を参照してください。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetExtendedListViewStyleWin32 マクロの動作を実装します。

CListCtrl::SetExtendedStyle の例を参照してください。

CListCtrl::GetFirstSelectedItemPosition

リスト ビュー コントロールで最初に選択した項目の位置を取得します。

POSITION GetFirstSelectedItemPosition() const;

戻り値

POSITION項目が選択されていない場合に、反復またはオブジェクト ポインターの取得NULLに使用できる値。

次のコード サンプルは、この関数の使用方法を示しています。

POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
    TRACE(_T("No items were selected!\n"));
}
else
{
    while (pos)
    {
        int nItem = m_myListCtrl.GetNextSelectedItem(pos);
        TRACE(_T("Item %d was selected!\n"), nItem);
        // you could do your own processing on nItem here
    }
}

CListCtrl::GetFocusedGroup

現在のリスト ビュー コントロールにキーボード フォーカスがあるグループを取得します。

int GetFocusedGroup() const;

戻り値

このようなグループがある場合は、状態が LVGS_FOCUSED-1 のグループのインデックス。それ以外の場合は -1。

解説

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETFOCUSEDGROUP します。 詳細については、構造体のLVGS_FOCUSEDメンバーの値をstateLVGROUP参照してください。

CListCtrl::GetGroupCount

現在のリスト ビュー コントロール内のグループの数を取得します。

int GetGroupCount()const;

戻り値

リスト ビュー コントロール内のグループの数。

解説

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETGROUPCOUNT します>。

CListCtrl::GetGroupInfo

リスト ビュー コントロールの指定したグループの情報を取得します。

int GetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp) const;

パラメーター

iGroupId
情報を取得するグループの識別子。

pgrp
指定されたグループに LVGROUP 関する情報を含むポインター。

戻り値

成功した場合はグループの ID を返し、それ以外の場合は -1 を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETGROUPINFO 機能をエミュレートします。

CListCtrl::GetGroupInfoByIndex

現在のリスト ビュー コントロール内の指定したグループに関する情報を取得します。

BOOL GetGroupInfoByIndex(
    int iIndex,
    PLVGROUP pGroup) const;

パラメーター

iIndex
[in]グループの 0 から始まるインデックス。

pGroup
[out]iIndex パラメーターで指定されたグループに関する情報を受け取る LVGROUP 構造体へのポインター。 呼び出し元は、LVGROUP 構造体のメンバーの初期化を担当します。 メンバーを cbSize 構造体のサイズに設定し、取得する情報を mask 指定するメンバーのフラグを設定します。

戻り値

TRUEこのメソッドが成功した場合。それ以外の場合は . FALSE

解説

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETGROUPINFOBYINDEX します>。

最初のコード例では、 m_listCtrl現在のリスト ビュー コントロールにアクセスするために使用される変数を定義します。 この変数は次の例で使用されています。

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

次のコード例では、このメソッドを GetGroupInfoByIndex 示します。 このコード例の前のセクションでは、レポート ビューに "ClientID" と "Grade" という 2 つの列を表示するリスト ビュー コントロールを作成しました。 次のコード例では、インデックスが 0 のグループに関する情報を取得します (そのようなグループが存在する場合)。

// GetGroupInfoByIndex
const int GROUP_HEADER_BUFFER_SIZE = 40;

// Initialize the structure
LVGROUP gInfo = {0};
gInfo.cbSize = sizeof(LVGROUP);
wchar_t wstrHeadGet[GROUP_HEADER_BUFFER_SIZE] = {0};
gInfo.cchHeader = GROUP_HEADER_BUFFER_SIZE;
gInfo.pszHeader = wstrHeadGet;
gInfo.mask = (LVGF_ALIGN | LVGF_STATE | LVGF_HEADER | LVGF_GROUPID);
gInfo.state = LVGS_NORMAL;
gInfo.uAlign  = LVGA_HEADER_LEFT;

BOOL bRet = m_listCtrl.GetGroupInfoByIndex( 0, &gInfo );
if (bRet == TRUE) {
    CString strHeader = CString( gInfo.pszHeader );
    CString str;
    str.Format(_T("Header: '%s'"), strHeader);
    AfxMessageBox(str, MB_ICONINFORMATION);
}
else
{
    AfxMessageBox(_T("No group information was retrieved."));
}

CListCtrl::GetGroupMetrics

グループのメトリックを取得します。

void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;

パラメーター

pGroupMetrics
グループ メトリック情報を LVGROUPMETRICS 含むポインター。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETGROUPMETRICS 機能をエミュレートします。

CListCtrl::GetGroupRect

現在のリスト ビュー コントロール内の指定したグループの外接する四角形を取得します。

BOOL GetGroupRect(
    int iGroupId,
    LPRECT lpRect,
    int iCoords = LVGGR_GROUP) const;

パラメーター

iGroupId
[in]グループを指定します。

lpRect
[入力、出力]構造体への RECT ポインター。 このメソッドが成功した場合、構造体は指定された iGroupIdグループの四角形座標を受け取ります。

iCoords
[in]取得する四角形の座標を指定します。 次の値のいずれかを使用します。

  • LVGGR_GROUP - (既定値) 展開されたグループ全体の座標。
  • LVGGR_HEADER - ヘッダーのみの座標 (折りたたまれたグループ)。
  • LVGGR_SUBSETLINK - サブセット リンクのみの座標 (マークアップ サブセット)。

戻り値

TRUEこのメソッドが成功した場合。それ以外の場合は . FALSE

解説

呼び出し元は、パラメーターが指す構造体を RECT 割り当てる役割を pRect 担います。

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETGROUPRECT します。

最初のコード例では、 m_listCtrl現在のリスト ビュー コントロールにアクセスするために使用される変数を定義します。 この変数は次の例で使用されています。

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

次のコード例では、このメソッドを GetGroupRect 示します。 このコード例の前のセクションでは、レポート ビューに "ClientID" と "Grade" という 2 つの列を表示するリスト ビュー コントロールを作成しました。 次のコード例では、インデックスが 0 のグループの周囲に 3D 四角形を描画します (このようなグループが存在する場合)。

// GetGroupRect

// Get the graphics rectangle that surrounds group 0.
CRect rect;
BOOL bRet = m_listCtrl.GetGroupRect( 0, &rect, LVGGR_GROUP);
// Draw a blue rectangle around group 0.
if (bRet == TRUE) {
    m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(0, 0, 255), RGB(0, 0, 255));
}
else {
    AfxMessageBox(_T("No group information was retrieved."), MB_ICONINFORMATION);
}

CListCtrl::GetGroupState

現在のリスト ビュー コントロール内の指定したグループの状態を取得します。

UINT GetGroupState(
    int iGroupId,
    DWORD dwMask) const;

パラメーター

iGroupId
[in]グループの 0 から始まるインデックス。

dwMask
[in]指定したグループに対して取得する状態値を指定するマスク。 詳細については、構造体のメンバーをmaskLVGROUP参照してください。

戻り値

指定したグループに対して要求された状態。グループが見つからない場合は 0。

解説

戻り値は、パラメーターに対 dwMask するビットごとの AND 演算の結果と、現在のリスト ビュー コントロールを state 表す構造体のメンバーの LVGROUP 値です。

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETGROUPSTATE します。 詳細については、マクロを ListView_GetGroupState 参照してください。

CListCtrl::GetHeaderCtrl

リスト ビュー コントロールのヘッダー コントロールを取得します。

CHeaderCtrl* GetHeaderCtrl();

戻り値

リスト ビュー コントロールによって使用されるヘッダー コントロールへのポインター。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetHeaderWin32 マクロの動作を実装します。

CListCtrl::GetColumnOrderArray の例を参照してください。

CListCtrl::GetHotCursor

リスト ビュー コントロールに対してホット トラッキングが有効になっているときに使用されるカーソルを取得します。

HCURSOR GetHotCursor();

戻り値

リスト ビュー コントロールによって使用されている現在のホット カーソル リソースへのハンドル。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetHotCursorWin32 マクロの動作を実装します。 ホバー選択が有効な場合にのみ表示されるホット カーソルは、カーソルがリスト ビュー項目の上に移動したときに表示されます。 LVS_EX_TRACKStandard Edition LECT 拡張スタイルを設定すると、ホバー選択が有効になります。

// Set the hot cursor to be the system app starting cursor.
HCURSOR hCursor = ::LoadCursor(NULL, IDC_APPSTARTING);
m_myListCtrl.SetHotCursor(hCursor);
ASSERT(m_myListCtrl.GetHotCursor() == hCursor);

CListCtrl::GetHotItem

現在カーソルの下にあるリスト ビュー項目を取得します。

int GetHotItem();

戻り値

リスト ビュー コントロールの現在のホットアイテムのインデックス。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetHotItemWin32 マクロの動作を実装します。 ホット アイテムは、ホット トラッキング (およびホバー選択) が有効な場合に、現在選択されている項目として定義されます。

ホット トラッキングが有効になっている場合、ユーザーがリスト ビュー項目の上で一時停止すると、マウス ボタンを使用せずに項目ラベルが自動的に強調表示されます。

// Set the hot item to the first item only if no other item is
// highlighted.
if (m_myListCtrl.GetHotItem() == -1)
    m_myListCtrl.SetHotItem(0);

CListCtrl::GetHoverTime

リスト ビュー コントロールの現在のホバー時間を取得します。

DWORD GetHoverTime() const;

戻り値

選択する前にマウス カーソルを項目の上に置く必要がある遅延時間 (ミリ秒単位) を返します。 戻り値が -1 の場合、ホバー時間は既定のホバー時間です。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetHoverTimeWin32 マクロの動作を実装します。

// If the hover time is the default set to 1 sec.
DWORD dwTime = m_myListCtrl.GetHoverTime();
if (dwTime == -1)
    m_myListCtrl.SetHoverTime(1000);

CListCtrl::GetImageList

リスト ビューアイテムの描画に使用されるイメージ リストのハンドルを取得します。

CImageList* GetImageList(int nImageList) const;

パラメーター

nImageList
取得するイメージ リストを指定する値。 次のいずれかの値を指定できます。

  • LVSIL_NORMAL 大きなアイコンを含む画像の一覧。
  • LVSIL_SMALL 小さいアイコンを含む画像の一覧。
  • LVSIL_STATE 状態イメージを含む画像リスト。

戻り値

リスト ビュー項目の描画に使用されるイメージ リストへのポインター。

ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);

CListCtrl::GetInsertMark

挿入マークの現在位置を取得します。

BOOL GetInsertMark(LPLVINSERTMARK plvim) const;

パラメーター

plvim
挿入マークの LVINSERTMARK 情報を含む構造体へのポインター。

戻り値

成功した TRUE 場合は FALSE 返します。それ以外の場合は返します。 FALSE は、構造体のメンバーのサイズが cbSize 構造体の実際の LVINSERTMARK サイズと等しくない場合に返されます。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETINSERTMARK 機能をエミュレートします。

CListCtrl::GetInsertMarkColor

挿入マークの現在の色を取得します。

COLORREF GetInsertMarkColor() const;

戻り値

カーソルの COLORREF 色を含む構造体を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETINSERTMARKCOLOR 機能をエミュレートします。

CListCtrl::GetInsertMarkRect

挿入ポイントを囲む四角形を取得します。

int GetInsertMarkRect(LPRECT pRect) const;

パラメーター

pRect
挿入ポイントを RECT 境界とする四角形の座標を含む構造体へのポインター。

戻り値

次の値のいずれか。

  • 0 挿入ポイントが見つかりません。
  • 1 挿入ポイントが見つかりました。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETINSERTMARKRECT 機能をエミュレートします。

CListCtrl::GetItem

リスト ビュー アイテムの属性の一部またはすべてを取得します。

BOOL GetItem(LVITEM* pItem) const;

パラメーター

pItem
項目の属性を LVITEM 受け取る構造体へのポインター。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この構造体は LVITEM 、リスト ビュー アイテムの属性を指定または受信します。

CListCtrl::GetItemCount

リスト ビュー コントロール内の項目の数を取得します。

int GetItemCount() const;

戻り値

リスト ビュー コントロール内の項目の数。

CListCtrl::DeleteItem の例を参照してください。

CListCtrl::GetItemData

で指定された nItem項目に関連付けられている 32 ビット アプリケーション固有の値 (x64 用にコンパイルする場合は 64 ビット) を取得します。

DWORD_PTR GetItemData(int nItem) const;

パラメーター

nItem
データを取得するリスト アイテムのインデックス。

戻り値

指定した項目に関連付けられている 32 ビット (x64 用にコンパイルする場合は 64 ビット) のアプリケーション固有の値。

解説

この値は、 lParam Windows SDK で LVITEM 説明されているように、構造体のメンバーです

// If any item's data is equal to zero then reset it to -1.
for (int i=0; i < m_myListCtrl.GetItemCount(); i++)
{
    if (m_myListCtrl.GetItemData(i) == 0)
    {
        m_myListCtrl.SetItemData(i, (DWORD) -1);
    }
}

CListCtrl::GetItemIndexRect

現在のリスト ビュー コントロールのサブ項目のすべてまたは一部の外接する四角形を取得します。

BOOL GetItemIndexRect(
    PLVITEMINDEX pItemIndex,
    int iColumn,
    int rectType,
    LPRECT pRect) const;

パラメーター

pItemIndex
[in]サブ項目の LVITEMINDEX 親項目の構造体へのポインター。 呼び出し元は、構造体のメンバーの割り当てと設定を行 LVITEMINDEX います。 このパラメーターを NULL とすることはできません。

iColumn
[in]コントロール内の列の 0 から始まるインデックス。

rectType
[in]外接する四角形が取得されるリスト ビューサブ項目の一部。 次のいずれかの値を指定します。

  • LVIR_BOUNDS - アイコンとラベルを含むサブ項目全体の外接する四角形を返します。
  • LVIR_ICON - サブ項目のアイコンまたは小さいアイコンの外接する四角形を返します。
  • LVIR_LABEL - サブ項目テキストの外接する四角形を返します。

pRect
[out]サブ項目の RECT 外接する四角形に関する情報を受け取る構造体へのポインター。 呼び出し元は、構造体の割り当てを担当します RECT 。 このパラメーターを NULL とすることはできません。

戻り値

TRUEこのメソッドが成功した場合。それ以外の場合は . FALSE

解説

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETITEMINDEXRECT します。 詳細については、「マクロ」を参照してください。ListView_GetItemIndexRect

最初のコード例では、 m_listCtrl現在のリスト ビュー コントロールにアクセスするために使用される変数を定義します。 この変数は次の例で使用されています。

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

次のコード例では、このメソッドを GetGroupRect 示します。 このコード例を入力する前に、"ClientID" と "Grade" という 2 つの列をレポート ビューに表示するリスト ビュー コントロールを作成しました。 次のコード例では、両方の列の 2 番目のサブ項目の周囲に 3D 四角形を描画します。

// GetItemIndexRect
// Get the rectangle that bounds the second item in the first group.
LVITEMINDEX lvItemIndex;
lvItemIndex.iGroup = 0;
lvItemIndex.iItem = 1;
CRect rect;
BOOL bRet = m_listCtrl.GetItemIndexRect(
    &lvItemIndex, 0, LVIR_BOUNDS, &rect);

// Draw a red rectangle around the item.
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(255, 0, 0), RGB(255, 0, 0) );

CListCtrl::GetItemPosition

リスト ビュー アイテムの位置を取得します。

BOOL GetItemPosition(
    int nItem,
    LPPOINT lpPoint) const;

パラメーター

nItem
位置を取得するアイテムのインデックス。

lpPoint
アイテムの POINT 左上隅の位置をビュー座標で受け取る構造体のアドレス。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

POINT pt;

// Move all items in the list control 100 pixels to the right.
UINT i, nCount = m_myListCtrl.GetItemCount();

for (i=0; i < nCount; i++)
{
    m_myListCtrl.GetItemPosition(i, &pt);
    pt.x += 100;
    m_myListCtrl.SetItemPosition(i, pt);
}

CListCtrl::GetItemRect

現在のビュー内のアイテムのすべてまたは一部の外接する四角形を取得します。

BOOL GetItemRect(
    int nItem,
    LPRECT lpRect,
    UINT nCode) const;

パラメーター

nItem
位置を取得するアイテムのインデックス。

lpRect
RECT外接する四角形を受け取る構造体のアドレス。

nCode
外接する四角形を取得するリスト ビュー項目の一部。 次のいずれかの値を指定できます。

  • LVIR_BOUNDS アイコンとラベルを含む、項目全体の外接する四角形を返します。
  • LVIR_ICON アイコンまたは小さいアイコンの外接する四角形を返します。
  • LVIR_LABEL 項目テキストの外接する四角形を返します。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

// OnClick is the handler for the NM_CLICK notification
void CListCtrlDlg::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
    UNREFERENCED_PARAMETER(pResult);
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;

    // Get the current mouse location and convert it to client
    // coordinates.
    CPoint pos( ::GetMessagePos() );
    ScreenToClient(&pos);

    // Get indexes of the first and last visible items in
    // the listview control.
    int index = m_myListCtrl.GetTopIndex();
    int last_visible_index = index + m_myListCtrl.GetCountPerPage();
    if (last_visible_index > m_myListCtrl.GetItemCount())
        last_visible_index = m_myListCtrl.GetItemCount();

    // Loop until number visible items has been reached.
    while (index <= last_visible_index)
    {
        // Get the bounding rectangle of an item. If the mouse
        // location is within the bounding rectangle of the item,
        // you know you have found the item that was being clicked.
        CRect r;
        m_myListCtrl.GetItemRect(index, &r, LVIR_BOUNDS);
        if (r.PtInRect(pia->ptAction))
        {
            UINT flag = LVIS_SELECTED | LVIS_FOCUSED;
            m_myListCtrl.SetItemState(index, flag, flag);
            break;
        }

        // Get the next item in listview control.
        index++;
    }
}

CListCtrl::GetItemSpacing

現在のリスト ビュー コントロール内の項目間の間隔を計算します。

BOOL GetItemSpacing(
    BOOL fSmall,
    int* pnHorzSpacing,
    int* pnVertSpacing) const;

パラメーター

fSmall
[in]項目の間隔を取得するビュー。 小さいアイコン ビューまたはFALSEアイコン ビューを指定TRUEします。

pnHorzSpacing
[out]項目間の水平方向の間隔を格納します。

pnVertSpacing
[out]項目間の垂直方向の間隔を格納します。

戻り値

TRUEこのメソッドが成功した場合。それ以外の場合は . FALSE

解説

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETITEMSPACING します。

CListCtrl::GetItemState

リスト ビュー アイテムの状態を取得します。

UINT GetItemState(
    int nItem,
    UINT nMask) const;

パラメーター

nItem
状態を取得するアイテムのインデックス。

nMask
返す項目の状態フラグを指定するマスク。

戻り値

指定したリスト ビュー アイテムの状態フラグ。

解説

アイテムの状態は、Windows SDK で説明されているように、構造体のLVITEMメンバーによってstate指定されます。 項目の状態を指定または変更すると、 stateMask メンバーは変更する状態ビットを指定します。

CListCtrl::GetTopIndex の例を参照してください。

CListCtrl::GetItemText

リスト ビュー項目またはサブ項目のテキストを取得します。

int GetItemText(
    int nItem,
    int nSubItem,
    LPTSTR lpszText,
    int nLen) const;

CString GetItemText(
    int nItem,
    int nSubItem) const;

パラメーター

nItem
テキストを取得するアイテムのインデックス。

nSubItem
テキストを取得するサブ項目を指定します。

lpszText
項目テキストを受け取る文字列へのポインター。

nLen
によって lpszText指されるバッファーの長さ。

戻り値

返される int バージョンは、取得した文字列の長さを返します。

返される CString バージョンは、項目のテキストを返します。

解説

0 の場合 nSubItem 、この関数は項目ラベルを取得します。0 以外の場合 nSubItem は、サブ項目のテキストを取得します。 サブ項目引数の詳細については、Windows SDK の構造の LVITEM 説明を参照してください。

CListCtrl::GetNextItem

指定したプロパティを持ち、指定したアイテムとのリレーションシップを持つリスト ビュー アイテムを検索します。

int GetNextItem(
    int nItem,
    int nFlags) const;

パラメーター

nItem
検索を開始する項目のインデックス。指定したフラグに一致する最初の項目を検索する場合は -1。 指定した項目自体が検索から除外されます。

nFlags
指定した項目に対する要求された項目の幾何学的関係と、要求された項目の状態。 ジオメトリの関係には、次のいずれかの値を指定できます。

  • LVNI_ABOVE 指定した項目の上にある項目を検索します。
  • LVNI_ALL 後続の項目をインデックスで検索します (既定値)。
  • LVNI_BELOW 指定した項目の下にある項目を検索します。
  • LVNI_TOLEFT 指定した項目の左側にある項目を検索します。
  • LVNI_TORIGHT 指定した項目の右側にある項目を検索します。

状態は 0 にすることも、次の値の 1 つ以上にすることもできます。

  • LVNI_DROPHILITED 項目に状態フラグが LVIS_DROPHILITED 設定されています。
  • LVNI_FOCUSED 項目に状態フラグが LVIS_FOCUSED 設定されています。
  • LVNI_SELECTED 項目に状態フラグが LVIS_SELECTED 設定されています。

アイテムに指定した状態フラグがすべて設定されていない場合、検索は次の項目で続行されます。

戻り値

成功した場合は次の項目のインデックス。それ以外の場合は -1。

CListCtrl::GetNextItemIndex

指定したプロパティ セットを持つ現在のリスト ビュー コントロール内の項目のインデックスを取得します。

BOOL GetNextItemIndex(
    PLVITEMINDEX pItemIndex,
    int nFlags) const;

パラメーター

pItemIndex
[入力、出力]検索がLVITEMINDEX開始される項目を記述する構造体へのポインター。nFlags パラメーターのフラグに一致する最初の項目を検索する場合は -1。 このメソッドが成功した場合、構造体 LVITEMINDEX は検索によって見つかった項目を記述します。

nFlags
[in]検索の実行方法を指定するフラグのビットごとの組み合わせ (OR)。 検索は、対象アイテムのインデックス、状態、または外観、またはパラメーターで pItemIndex 指定された項目に対するターゲット アイテムの物理的な位置によって異なります。 詳細については、メッセージのパラメーターをflagsLVM_GETNEXTITEMINDEX参照してください。

戻り値

TRUEこのメソッドが成功した場合。それ以外の場合は . FALSE

解説

呼び出し元は、パラメーターによって指される構造体のメンバーの LVITEMINDEX 割り当てと設定を pItemIndex 担当します。

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETNEXTITEMINDEX します。

CListCtrl::GetNextSelectedItem

で識別される posリスト アイテムのインデックスを取得し、POSITION 値に設定 pos します。

int GetNextSelectedItem(POSITION& pos) const;

パラメーター

pos
以前の呼び出しによって返された POSITION 値へのGetNextSelectedItemGetFirstSelectedItemPosition参照。 値は、この呼び出しによって次の位置に更新されます。

戻り値

pos識別されるリスト アイテムのインデックス。

解説

への呼び出しGetFirstSelectedItemPositionで初期位置を確立する場合は、前方反復ループで使用GetNextSelectedItemできます。

値が有効であることを POSITION 確認する必要があります。 無効な場合は、Microsoft Foundation クラス ライブラリのデバッグ バージョンがアサートされます。

次のコード サンプルは、この関数の使用方法を示しています。

POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
    TRACE(_T("No items were selected!\n"));
}
else
{
    while (pos)
    {
        int nItem = m_myListCtrl.GetNextSelectedItem(pos);
        TRACE(_T("Item %d was selected!\n"), nItem);
        // you could do your own processing on nItem here
    }
}

CListCtrl::GetNumberOfWorkAreas

リスト ビュー コントロールの現在の作業領域の数を取得します。

UINT GetNumberOfWorkAreas() const;

戻り値

現時点では使用されません。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetNumberOfWorkAreasWin32 マクロの動作を実装します。

UINT i, uCount = m_myListCtrl.GetNumberOfWorkAreas();
LPRECT lpRects = (LPRECT) malloc(uCount*sizeof(RECT));

if (lpRects != NULL)
{
    // Dump all of the work area dimensions.
    m_myListCtrl.GetWorkAreas(uCount, lpRects);

    for (i=0; i < uCount; i++)
    {
        TRACE(_T("Work area %d; left = %d, top = %d, right = %d, ")
            _T("bottom = %d\r\n"),
            i, lpRects[i].left, lpRects[i].top, lpRects[i].right,
            lpRects[i].bottom);
    }

    free(lpRects);
}
else
{
    TRACE(_T("Couldn't allocate enough memory!"));
}

CListCtrl::GetOutlineColor

リスト ビュー コントロールの境界線の色を取得します。

COLORREF GetOutlineColor() const;

戻り値

アウトラインの色を COLORREF 含む構造体を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETOUTLINECOLOR 機能をエミュレートします。

CListCtrl::GetOrigin

リスト ビュー コントロールの現在のビューの原点を取得します。

BOOL GetOrigin(LPPOINT lpPoint) const;

パラメーター

lpPoint
ビューの POINT 配信元を受け取る構造体のアドレス。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。 ただし、コントロールがレポート ビューにある場合、戻り値は常に 0 になります。

CListCtrl::GetSelectedColumn

リスト コントロールで現在選択されている列のインデックスを取得します。

UINT GetSelectedColumn() const;

戻り値

選択した列のインデックス。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETSELECTEDCOLUMN 機能をエミュレートします。

CListCtrl::GetSelectedCount

リスト ビュー コントロールで選択されている項目の数を取得します。

UINT GetSelectedCount() const;

戻り値

リスト ビュー コントロールで選択した項目の数。

UINT i, uSelectedCount = m_myListCtrl.GetSelectedCount();
int  nItem = -1;

// Update all of the selected items.
if (uSelectedCount > 0)
{
    for (i=0; i < uSelectedCount; i++)
    {
        nItem = m_myListCtrl.GetNextItem(nItem, LVNI_SELECTED);
        ASSERT(nItem != -1);
        m_myListCtrl.Update(nItem);
    }
}

CListCtrl::GetSelectionMark

リスト ビュー コントロールの選択マークを取得します。

int GetSelectionMark();

戻り値

0 から始まる選択マーク。選択マークがない場合は -1。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetSelectionMarkWin32 マクロの動作を実装します。

// Set the selection mark to the first item only if no other item is
// selected.
if (m_myListCtrl.GetSelectionMark() == -1)
    m_myListCtrl.SetSelectionMark(0);

CListCtrl::GetStringWidth

指定されたすべての文字列を表示するために必要な最小列幅を決定します。

int GetStringWidth(LPCTSTR lpsz) const;

パラメーター

lpsz
幅を決定する null で終わる文字列のアドレス。

戻り値

指定する文字列の幅 (ピクセル単位)。lpsz

解説

返される幅は、コントロールの現在のフォントと列の余白を考慮しますが、小さいアイコンの幅は考慮しません。

CString strColumn;
int nWidth;

// Insert six columns in the list view control. Make the width of
// the column be the width of the column header plus 50%.
for (int i = 0; i < 6; i++)
{
    strColumn.Format(_T("column %d"), i);
    nWidth = 3*m_myListCtrl.GetStringWidth(strColumn)/2;
    m_myListCtrl.InsertColumn(i, strColumn, LVCFMT_LEFT, nWidth);
}

CListCtrl::GetSubItemRect

リスト ビュー コントロール内の項目の外接する四角形を取得します。

BOOL GetSubItemRect(
    int iItem,
    int iSubItem,
    int nArea,
    CRect& ref);

パラメーター

iItem
サブ項目の親項目のインデックス。

iSubItem
サブ項目の 1 から始まるインデックス。

nArea
取得する外接する四角形 (リスト ビュー サブ項目の) の部分を決定します。 外接する四角形の部分 (アイコン、ラベル、またはその両方) は、次の 1 つ以上の値にビットごとの OR 演算子を適用することによって指定されます。

  • LVIR_BOUNDS アイコンとラベルを含む、項目全体の外接する四角形を返します。
  • LVIR_ICON アイコンまたは小さいアイコンの外接する四角形を返します。
  • LVIR_LABEL アイコンとラベルを含む、項目全体の外接する四角形を返します。 これは次と LVIR_BOUNDS同じです。

ref
サブ項目の CRect 外接する四角形の座標を含むオブジェクトへの参照。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetSubItemRectWin32 マクロの動作を実装します。

CListCtrl::GetTextBkColor

リスト ビュー コントロールのテキストの背景色を取得します。

COLORREF GetTextBkColor() const;

戻り値

RGB 色を指定するために使用される 32 ビット値。

CListCtrl::SetTextBkColor の例を参照してください。

CListCtrl::GetTextColor

リスト ビュー コントロールのテキストの色を取得します。

COLORREF GetTextColor() const;

戻り値

RGB 色を指定するために使用される 32 ビット値。

CListCtrl::SetTextColor の例を参照してください。

CListCtrl::GetTileInfo

リスト ビュー コントロール内のタイルに関する情報を取得します。

BOOL GetTileInfo(PLVTILEINFO plvti) const;

パラメーター

plvti
タイル情報を LVTILEINFO 受け取る構造体へのポインター。

戻り値

戻り値は使用されません。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETTILEINFO 機能をエミュレートします。

CListCtrl::GetTileViewInfo

タイル ビューのリスト ビュー コントロールに関する情報を取得します。

BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;

パラメーター

ptvi
取得した情報を LVTILEVIEWINFO 受け取る構造体へのポインター。

戻り値

戻り値は使用されません。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETTILEVIEWINFO 機能をエミュレートします。

CListCtrl::GetToolTips

リスト ビュー コントロールがツールヒントの表示に使用するツールヒント コントロールを取得します。

CToolTipCtrl* GetToolTips() const;

戻り値

リスト コントロールによって CToolTipCtrl 使用されるオブジェクトへのポインター。 メンバー関数で Create スタイル LVS_NOTOOLTIPSが使用されている場合、ヒントは使用されません。NULL が返されます。

解説

このメンバー関数は、Windows SDK で説明されているように、Win32 メッセージ LVM_GETTOOLTIPSの動作を実装します。 MFC の実装では、ツールヒント コントロールへの GetToolTips ハンドルではなく、リスト コントロールによって使用されるオブジェクトが返 CToolTipCtrl されます。

CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
    pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
        IDD_MYLISTCTRL);
}

CListCtrl::GetTopIndex

リスト ビューまたはレポート ビューの場合に、最上位に表示されるアイテムのインデックスを取得します。

int GetTopIndex() const;

戻り値

最上位に表示される項目のインデックス。

// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();

// Select all of the items that are completely visible.
int n = m_myListCtrl.GetTopIndex();
int nLast = n + m_myListCtrl.GetCountPerPage();

for (; n < nLast; n++)
{
    m_myListCtrl.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);
    ASSERT(m_myListCtrl.GetItemState(n, LVIS_SELECTED) == LVIS_SELECTED);
}

CListCtrl::GetView

リスト ビュー コントロールのビューを取得します。

DWORD GetView() const;

戻り値

リスト ビュー コントロールの現在のビュー。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_GETVIEW 機能をエミュレートします。

CListCtrl::GetViewRect

リスト ビュー コントロール内のすべての項目の外接する四角形を取得します。

BOOL GetViewRect(LPRECT lpRect) const;

パラメーター

lpRect
構造体の RECT アドレス。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

リスト ビューは、アイコン ビューまたは小さいアイコン ビューである必要があります。

CListCtrl::GetWorkAreas

リスト ビュー コントロールの現在の作業領域を取得します。

void GetWorkAreas(
    int nWorkAreas,
    LPRECT pRect) const;

パラメーター

nWorkAreas
配列に RECT 含まれる構造体の pRect 数。

pRect
リスト ビュー コントロールの RECT 作業領域を受け取る構造体 (または CRect オブジェクト) の配列へのポインター。 これらの構造体の値はクライアント座標にあります。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_GetWorkAreasWin32 マクロの動作を実装します。

CListCtrl::GetNumberOfWorkAreas の例を参照してください。

CListCtrl::HasGroup

リスト ビュー コントロールに指定したグループがあるかどうかを判断します。

BOOL HasGroup(int iGroupId) const;

パラメーター

iGroupId
要求されるグループの識別子。

戻り値

正常に終了した場合は、TRUE を返します。それ以外の場合は、FALSE を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_HASGROUP 機能をエミュレートします。

CListCtrl::HitTest

指定した位置にあるリスト ビュー 項目 (存在する場合) を決定します。

int HitTest(LVHITTESTINFO* pHitTestInfo) const;

int HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

パラメーター

pHitTestInfo
ヒット テストの LVHITTESTINFO 位置を含み、ヒット テストの結果に関する情報を受け取る構造体のアドレス。

pt
テスト対象のポイント。

pFlags
テストの結果に関する情報を受け取る整数へのポインター。 Windows SDK の構造のメンバーのLVHITTESTINFO説明flagsを参照してください。

戻り値

指定された pHitTestInfo位置にある項目のインデックス (存在する場合)、それ以外の場合は -1。

解説

リスト ビュー コントロールの内容をLVHT_TOLEFTLVHT_ABOVELVHT_BELOWスクロールするかどうかを決定するには、LVHT_TORIGHT構造体のflagメンバーの値、を使用できます。 これらのフラグのうち 2 つを組み合わせることができます。たとえば、位置がクライアント領域の上と左側にある場合などです。

構造体のメンバーの値を LVHT_ONITEM テストして、特定の flag 位置がリスト ビュー項目の上にあるかどうかを判断できます。 この値は、構造体flagのメンバーの 、LVHT_ONITEMLABELおよびLVHT_ONITEMSTATEICON値に対するLVHT_ONITEMICONビットごとの OR 演算です。

void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
    CPoint point(pia->ptAction);

    // Select the item the user clicked on.
    UINT uFlags;
    int nItem = m_myListCtrl.HitTest(point, &uFlags);

    if (uFlags & LVHT_ONITEMLABEL)
    {
        m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED,
            LVIS_SELECTED, 0);
    }

    *pResult = 0;
}

CListCtrl::InsertColumn

リスト ビュー コントロールに新しい列を挿入します。

int InsertColumn(
    int nCol,
    const LVCOLUMN* pColumn);

int InsertColumn(
    int nCol,
    LPCTSTR lpszColumnHeading,
    int nFormat = LVCFMT_LEFT,
    int nWidth = -1,
    int nSubItem = -1);

パラメーター

nCol
新しい列のインデックス。

pColumn
新しい列の LVCOLUMN 属性を含む構造体のアドレス。

lpszColumnHeading
列の見出しを含む文字列のアドレス。

nFormat
列の配置を指定する整数。 次のいずれかの値を指定できます。 LVCFMT_LEFTLVCFMT_RIGHTLVCFMT_CENTER

nWidth
列の幅 (ピクセル単位)。 このパラメーターが -1 の場合、列の幅は設定されません。

nSubItem
列に関連付けられているサブ項目のインデックス。 このパラメーターが -1 の場合、サブ項目は列に関連付けされません。

戻り値

成功した場合は新しい列のインデックス。それ以外の場合は -1。

解説

リスト ビュー コントロールの左端の列は左揃えである必要があります。

構造には LVCOLUMN 、レポート ビューの列の属性が含まれています。 また、列に関する情報を受け取るためにも使用されます。 この構造については、Windows SDK で説明します。

CListCtrl::InsertGroup

リスト ビュー コントロールにグループを挿入します。

LRESULT InsertGroup(
    int index,
    PLVGROUP pgrp);

パラメーター

index
グループを挿入する項目のインデックス。

pgrp
追加するグループを LVGROUP 含む構造体へのポインター。

戻り値

グループが追加された項目のインデックスを返します。操作が失敗した場合は -1 を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_INSERTGROUP 機能をエミュレートします。

CListCtrl::InsertGroupSorted

指定したグループをグループの順序付きリストに挿入します。

LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);

パラメーター

pStructInsert
挿入するグループを LVINSERTGROUPSORTED 含む構造体へのポインター。

戻り値

戻り値は使用されません。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_INSERTGROUPSORTED 機能をエミュレートします。

CListCtrl::InsertItem

リスト ビュー コントロールに項目を挿入します。

int InsertItem(const LVITEM* pItem);

int InsertItem(
    int nItem,
    LPCTSTR lpszItem);

int InsertItem(
    int nItem,
    LPCTSTR lpszItem,
    int nImage);

int InsertItem(
    UINT nMask,
    int nItem,
    LPCTSTR lpszItem,
    UINT nState,
    UINT nStateMask,
    int nImage,
    LPARAM lParam);

パラメーター

pItem
Windows SDK で説明されているように、項目の属性を指定する LVITEM 構造体へのポインター。

nItem
挿入する項目のインデックス。

lpszItem
項目のラベルを含む文字列のアドレス、または LPSTR_TEXTCALLBACK 項目がコールバック項目の場合。 コールバック項目の詳細については、以下を参照してください CListCtrl::GetCallbackMask

nImage
項目のイメージのインデックス、または I_IMAGECALLBACK 項目がコールバック項目の場合。 コールバック項目の詳細については、以下を参照してください CListCtrl::GetCallbackMask

nMask
パラメーターは nMask 、パラメーターとして渡される項目属性を指定します。 Windows SDK の構造LVITEM説明されているマスク値の 1 つ以上を指定できます。 有効な値は、ビットごとの OR 演算子と組み合わせることができます。

nState
アイテムの状態、状態イメージ、オーバーレイ イメージを示します。 詳細については、有効なフラグの一覧については、Windows SDK トピックの構造リスト ビュー項目の状態に関するトピックLVITEMを参照してください。

nStateMask
状態メンバーのどのビットを取得または変更するかを示します。 詳細については、「Windows SDK の構造」を参照してください。LVITEM

lParam
項目に関連付けられている 32 ビットのアプリケーション固有の値 (x64 用にコンパイルする場合は 64 ビット)。 このパラメーターを指定する場合は、属性LVIF_PARAMを設定するnMask必要があります。

戻り値

成功した場合は新しい項目のインデックス、それ以外の場合は -1。

解説

このメソッドを呼び出すと、メッセージが LVM_INSERTITEM コントロール ウィンドウに送信される可能性があります。 コントロールに関連付けられているメッセージ ハンドラーは、特定の条件下 (ウィンドウ スタイル LVS_OWNERDRAWの使用など) の下で項目のテキストを設定できない場合があります。 これらの条件の詳細については、Windows SDK を参照してください LVM_INSERTITEM

CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();

// Insert 10 items in the list view control.
for (int i = 0; i < 10; i++)
{
    strText.Format(TEXT("item %d"), i);

    // Insert the item, select every other item.
    m_myListCtrl.InsertItem(LVIF_TEXT | LVIF_STATE, i, strText,
        (i % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);

    // Initialize the text of the subitems.
    for (int j = 1; j < nColumnCount; j++)
    {
        strText.Format(TEXT("sub-item %d %d"), i, j);
        m_myListCtrl.SetItemText(i, j, strText);
    }
}

CListCtrl::InsertMarkHitTest

指定したポイントに最も近い挿入ポイントを取得します。

int InsertMarkHitTest(
    LPPOINT pPoint,
    LPLVINSERTMARK plvim) const;

パラメーター

pPoint
リスト コントロールの POINT クライアント領域を基準としたヒット テスト座標を含む構造体へのポインター。

plvim
ポイント パラメーターによって定義された座標に LVINSERTMARK 最も近い挿入ポイントを指定する構造体へのポインター。

戻り値

指定したポイントに最も近い挿入ポイント。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_INSERTMARKHITTEST 機能をエミュレートします。

CListCtrl::IsGroupViewEnabled

リスト ビュー コントロールに対してグループ ビューを有効にするかどうかを指定します。

BOOL IsGroupViewEnabled() const;

戻り値

TRUEグループ ビューが有効になっている場合、またはそのFALSE他の場合に返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_ISGROUPVIEWENABLED 機能をエミュレートします。

CListCtrl::IsItemVisible

現在のリスト ビュー コントロール内の指定した項目が表示されるかどうかを示します。

BOOL IsItemVisible(int index) const;

パラメーター

index
[in]現在のリスト ビュー コントロール内の項目の 0 から始まるインデックス。

戻り値

TRUE指定した項目が表示される場合は 〗。それ以外の場合は . FALSE

解説

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_ISITEMVISIBLE します。

CListCtrl::MapIDToIndex

現在のリスト ビュー コントロール内の項目の一意の ID をインデックスにマップします。

UINT MapIDToIndex(UINT id) const;

パラメーター

id
[in]項目の一意の ID。

戻り値

指定した ID の現在のインデックス。

解説

リスト ビュー コントロールは、インデックスによって項目を内部的に追跡します。 これは、コントロールの有効期間中にインデックスが変更される可能性があるため、問題が発生する可能性があります。 リスト ビュー コントロールでは、アイテムの作成時に ID を持つ項目にタグを付けることができます。この ID を使用すると、リスト ビュー コントロールの有効期間中に一意性を保証できます。

マルチスレッド環境では、インデックスは、バックグラウンド スレッドではなく、リスト ビュー コントロールをホストするスレッドでのみ保証されます。

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_MAPIDTOINDEX します。

CListCtrl::MapIndexToID

現在のリスト ビュー コントロール内の項目のインデックスを一意の ID にマップします。

UINT MapIndexToID(UINT index) const;

パラメーター

index
[in]項目の 0 から始まるインデックス。

戻り値

指定した項目の一意の ID。

解説

リスト ビュー コントロールは、インデックスによって項目を内部的に追跡します。 これは、コントロールの有効期間中にインデックスが変更される可能性があるため、問題が発生する可能性があります。 リスト ビュー コントロールでは、アイテムの作成時に ID を持つ項目にタグを付けることができます。 この ID を使用すると、リスト ビュー コントロールの有効期間中に特定の項目にアクセスできます。

マルチスレッド環境では、インデックスは、バックグラウンド スレッドではなく、リスト ビュー コントロールをホストするスレッドでのみ保証されます。

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_MAPINDEXTOID します。

最初のコード例では、 m_listCtrl現在のリスト ビュー コントロールにアクセスするために使用される変数を定義します。 この変数は次の例で使用されています。

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

次のコード例では、このメソッドを MapIndexToID 示します。 このコード例の前のセクションでは、レポート ビューに "ClientID" と "Grade" という 2 つの列を表示するリスト ビュー コントロールを作成しました。 次の例では、各リスト ビュー項目のインデックスを識別番号にマップし、各識別番号のインデックスを取得します。 最後に、元のインデックスが取得されたかどうかを報告します。

// MapIndexToID
int iCount = m_listCtrl.GetItemCount();
UINT nId = 0;
UINT nIndex = 0;
for (int iIndexOriginal = 0; iIndexOriginal < iCount; iIndexOriginal++)
{
    // Map index to ID.
    nId = m_listCtrl.MapIndexToID((UINT)iIndexOriginal);

    // Map ID to index.
    nIndex = m_listCtrl.MapIDToIndex(nId);

    if (nIndex != (UINT)(iIndexOriginal))
    {
        CString str;
        str.Format(_T("Mapped index (%d) is not equal to original index (%d)"),
            nIndex, (UINT)(iIndexOriginal));
        AfxMessageBox(str);
        return;
    }
}
AfxMessageBox(_T("The mapped indexes and original indexes are equal."),
    MB_ICONINFORMATION);

CListCtrl::MoveGroup

指定したグループを、リスト ビュー コントロールの指定した 0 から始まるインデックスに移動します。

LRESULT MoveGroup(
    int iGroupId,
    int toIndex);

パラメーター

iGroupId
移動するグループの識別子。

toIndex
グループを移動する 0 から始まるインデックス。

戻り値

戻り値は使用されません。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_MOVEGROUP 機能をエミュレートします。

CListCtrl::MoveItemToGroup

指定した項目を指定したグループに移動します。

void MoveItemToGroup(
    int idItemFrom,
    int idGroupTo);

パラメーター

idItemFrom
[in]移動する項目のインデックス。

idGroupTo
[in]アイテムの移動先となるグループの識別子。

解説

Note

このメソッドは現在実装されていません。

このメソッドは、Windows SDK で説明されているように、メッセージの LVM_MOVEITEMTOGROUP 機能をエミュレートします。

CListCtrl::RedrawItems

リスト ビュー コントロールで、項目の範囲を強制的に再描画します。

BOOL RedrawItems(
    int nFirst,
    int nLast);

パラメーター

nFirst
再描画する最初の項目のインデックス。

nLast
再描画する最後の項目のインデックス。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

指定した項目は、リスト ビュー ウィンドウがWM_PAINTメッセージを受信するまで再描画されません。 すぐに再描画するには、この関数を使用した後に Windows UpdateWindow 関数を呼び出します。

CListCtrl::RemoveAllGroups

リスト ビュー コントロールからすべてのグループを削除します。

void RemoveAllGroups();

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_REMOVEALLGROUPS 機能をエミュレートします。

CListCtrl::RemoveGroup

リスト ビュー コントロールから指定したグループを削除します。

LRESULT RemoveGroup(int iGroupId);

パラメーター

iGroupId
削除するグループの識別子。

戻り値

成功した場合はグループのインデックスを返し、それ以外の場合は -1 を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_REMOVEGROUP 機能をエミュレートします。

CListCtrl::Scroll

リスト ビュー コントロールの内容をスクロールします。

BOOL Scroll(CSize size);

パラメーター

size
CSize水平スクロールと垂直スクロールの量をピクセル単位で指定するオブジェクト。 サイズのメンバーはy、リスト ビュー コントロールの行の高さ (ピクセル単位) で除算され、コントロールは結果の行数だけスクロールされます。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

CListCtrl::SetBkColor

リスト ビュー コントロールの背景色を設定します。

BOOL SetBkColor(COLORREF cr);

パラメーター

cr
設定する背景色、または CLR_NONE 背景色なしの値。 背景色を持つリスト ビュー コントロールは、背景色のないコントロールよりも大幅に高速に再描画されます。 詳細については、Windows SDK を参照してください COLORREF

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetBkColor(crBkColor);
ASSERT(m_myListCtrl.GetBkColor() == crBkColor);

CListCtrl::SetBkImage

リスト ビュー コントロールの背景イメージを設定します。

BOOL SetBkImage(LVBKIMAGE* plvbkImage);

BOOL SetBkImage(
    HBITMAP hBitmap,
    BOOL fTile = TRUE,
    int xOffsetPercent = 0,
    int yOffsetPercent = 0);

BOOL SetBkImage(
    LPTSTR pszUrl,
    BOOL fTile = TRUE,
    int xOffsetPercent = 0,
    int yOffsetPercent = 0);

パラメーター

plvbkImage
新しい背景画像情報を LVBKIMAGE 含む構造体のアドレス。

hBitmap
ビットマップへのハンドル。

pszUrl
背景画像の NULLURL を含む -terminated 文字列。

fTile
リスト ビュー コントロールの背景にイメージを並べて表示する場合は 0 以外。それ以外の場合は 0。

xOffsetPercent
リスト ビュー コントロールの原点からのイメージの左端のオフセット (ピクセル単位)。

yOffsetPercent
リスト ビュー コントロールの原点からの、イメージの上端のオフセット (ピクセル単位)。

戻り値

成功した場合は 0 以外、それ以外の場合は 0 を返します。

解説

Note

OLE COM 機能を使用するため CListCtrl::SetBkImage 、使用する前 SetBkImageに OLE ライブラリを初期化する必要があります。 アプリケーションが初期化されたときに COM ライブラリを初期化し、アプリケーションが終了したときにライブラリを初期化解除することをお勧めします。 これは、ActiveX テクノロジ、OLE オートメーション、OLE リンク/埋め込み、または ODBC/DAO 操作を使用する MFC アプリケーションで自動的に行われます。

CListCtrl::GetBkImage の例を参照してください。

CListCtrl::SetCallbackMask

リスト ビュー コントロールのコールバック マスクを設定します。

BOOL SetCallbackMask(UINT nMask);

パラメーター

nMask
コールバック マスクの新しい値。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

// Set the callback mask so that only the selected and focused states
// are stored for each item.
m_myListCtrl.SetCallbackMask(LVIS_SELECTED|LVIS_FOCUSED);
ASSERT(m_myListCtrl.GetCallbackMask() ==
    (LVIS_SELECTED|LVIS_FOCUSED));

CListCtrl::SetCheck

リスト コントロール項目の状態イメージが表示されるかどうかを判断します。

BOOL SetCheck(
    int nItem,
    BOOL fCheck = TRUE);

パラメーター

nItem
リスト コントロール項目の 0 から始まるインデックス。

fCheck
アイテムの状態イメージを表示するかどうかを指定します。 既定では、 fCheck 状態イメージが TRUE 表示されます。 存在する場合 fCheckFALSE、表示されません。

戻り値

項目がチェックされている場合は 0 以外、それ以外の場合は 0。

int nCount = m_myListCtrl.GetItemCount();
BOOL fCheck = FALSE;

// Set the check state of every other item to TRUE and
// all others to FALSE.
for (int i = 0; i < nCount; i++)
{
    m_myListCtrl.SetCheck(i, fCheck);
    ASSERT((m_myListCtrl.GetCheck(i) && fCheck) ||
        (!m_myListCtrl.GetCheck(i) && !fCheck));
    fCheck = !fCheck;
}

CListCtrl::SetColumn

リスト ビュー列の属性を設定します。

BOOL SetColumn(
    int nCol,
    const LVCOLUMN* pColumn);

パラメーター

nCol
属性が設定される列のインデックス。

pColumn
LVCOLUMN Windows SDK で説明されているように、新しい列属性を含む構造体のアドレス。 構造体の mask メンバーは、設定する列属性を指定します。 メンバーが値をmaskLVCF_TEXT指定した場合、構造体のpszTextメンバーは null で終わる文字列のアドレスであり、構造体のcchTextMaxメンバーは無視されます。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

CListCtrl::GetColumn の例を参照してください。

CListCtrl::SetColumnOrderArray

リスト ビュー コントロールの列の順序 (左から右) を設定します。

BOOL SetColumnOrderArray(
    int iCount,
    LPINT piArray);

パラメーター

piArray
リスト ビュー コントロール内の列のインデックス値を含むバッファーへのポインター (左から右)。 バッファーは、リスト ビュー コントロール内の列の合計数を格納するのに十分な大きさである必要があります。

iCount
リスト ビュー コントロール内の列の数。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetColumnOrderArrayWin32 マクロの動作を実装します。

CListCtrl::GetColumnOrderArray の例を参照してください。

CListCtrl::SetColumnWidth

レポート ビューまたはリスト ビューの列の幅を変更します。

BOOL SetColumnWidth(
    int nCol,
    int cx);

パラメーター

nCol
幅を設定する列のインデックス。 リスト ビューでは、このパラメーターは 0 である必要があります。

cx
列の新しい幅。 Windows SDK の説明にLVM_SETCOLUMNWIDTH従って、いずれかLVSCW_AUTOSIZEまたはLVSCW_AUTOSIZE_USEHEADERいずれかを指定できます。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

CListCtrl::SetExtendedStyle

リスト ビュー コントロールの現在の拡張スタイルを設定します。

DWORD SetExtendedStyle(DWORD dwNewStyle);

パラメーター

dwNewStyle
リスト ビュー コントロールで使用される拡張スタイルの組み合わせ。 これらのスタイルの説明的な一覧については、Windows SDK の 拡張リスト ビュー スタイル に関するトピックを参照してください。

戻り値

リスト ビュー コントロールで使用されていた以前の拡張スタイルの組み合わせ。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetExtendedListViewStyleWin32 マクロの動作を実装します。

// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
    (m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);

CListCtrl::SetGroupInfo

現在のリスト ビュー コントロールの指定したグループを記述する情報を設定します。

int SetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp);

パラメーター

iGroupId
情報が設定されているグループの識別子。

pgrp
設定する LVGROUP 情報を含む構造体へのポインター。 呼び出し元は、この構造体の割り当てとそのメンバーの設定を担当します。

戻り値

メソッドが成功した場合のグループの ID。それ以外の場合は -1。

解説

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_SETGROUPINFO します。

CListCtrl::SetGroupMetrics

リスト ビュー コントロールのグループ メトリックを設定します。

void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);

パラメーター

pGroupMetrics
設定する LVGROUPMETRICS グループ メトリック情報を含む構造体へのポインター。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETGROUPMETRICS 機能をエミュレートします。

CListCtrl::SetHotCursor

リスト ビュー コントロールでホット トラッキングが有効な場合に使用されるカーソルを設定します。

HCURSOR SetHotCursor(HCURSOR hc);

パラメーター

hc
ホット カーソルを表すために使用されるカーソル リソースへのハンドル。

戻り値

リスト ビュー コントロールで使用されている以前のホット カーソル リソースへのハンドル。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetHotCursorWin32 マクロの動作を実装します。

ホバー選択が有効な場合にのみ表示されるホット カーソルは、カーソルがリスト ビュー項目に渡されるときに表示されます。 拡張スタイルを設定すると、ホバー選択が LVS_EX_TRACKSELECT 有効になります。

CListCtrl::GetHotCursor の例を参照してください。

CListCtrl::SetHotItem

リスト ビュー コントロールの現在のホットアイテムを設定します。

int SetHotItem(int iIndex);

パラメーター

iIndex
ホット アイテムとして設定する項目の 0 から始まるインデックス。

戻り値

以前にホットな項目の 0 から始まるインデックス。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetHotItemWin32 マクロの動作を実装します。

CListCtrl::GetHotItem の例を参照してください。

CListCtrl::SetHoverTime

リスト ビュー コントロールの現在のホバー時間を設定します。

DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);

パラメーター

dwHoverTime
選択する前にマウス カーソルを項目の上に置く必要がある新しい遅延 (ミリ秒単位)。 既定値が渡された場合、時刻は既定のホバー時間に設定されます。

戻り値

前のホバー時間 (ミリ秒)。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetHoverTimeWin32 マクロの動作を実装します。

CListCtrl::GetHoverTime の例を参照してください。

CListCtrl::SetIconSpacing

リスト ビュー コントロール内のアイコン間の間隔を設定します。

CSize SetIconSpacing(
    int cx,
    int cy);

CSize SetIconSpacing(CSize size);

パラメーター

cx
x 軸上のアイコン間の距離 (ピクセル単位)。

cy
y 軸上のアイコン間の距離 (ピクセル単位)。

size
CSize x 軸と y 軸のアイコン間の距離 (ピクセル単位) を指定するオブジェクト。

戻り値

アイコン間隔 CSize の前の値を含むオブジェクト。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetIconSpacingWin32 マクロの動作を実装します。

// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));

CListCtrl::SetImageList

リスト ビュー コントロールにイメージ リストを割り当てます。

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

パラメーター

pImageList
割り当てるイメージ リストへのポインター。

nImageListType
イメージ リストの種類。 次のいずれかの値を指定できます。

  • LVSIL_NORMAL 大きなアイコンを含む画像の一覧。
  • LVSIL_SMALL 小さいアイコンを含む画像の一覧。
  • LVSIL_STATE 状態イメージを含む画像リスト。

戻り値

前のイメージ リストへのポインター。

CListCtrl::GetImageList の例を参照してください。

CListCtrl::SetInfoTip

ツールヒントのテキストを設定します。

BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);

パラメーター

plvInfoTip
設定する情報を LVFSETINFOTIP 含む構造体へのポインター。

戻り値

正常に終了した場合は、TRUE を返します。それ以外の場合は、FALSE を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETINFOTIP 機能をエミュレートします。

CListCtrl::SetInsertMark

挿入ポイントを定義された位置に設定します。

BOOL SetInsertMark(LPLVINSERTMARK plvim);

パラメーター

plvim
挿入ポイントを LVINSERTMARK 設定する場所を指定する構造体へのポインター。

戻り値

成功した TRUE 場合は FALSE 返します。それ以外の場合は返します。 FALSE は、構造体のメンバーの cbSize サイズが構造体の実際の LVINSERTMARK サイズと等しくない場合、または現在のビューに挿入ポイントが適用されない場合に返されます。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETINSERTMARK 機能をエミュレートします。

CListCtrl::SetInsertMarkColor

挿入ポイントの色を設定します。

COLORREF SetInsertMarkColor(COLORREF color);

パラメーター

color
COLORREF挿入ポイントを設定する色を指定する構造体。

戻り値

前の色を COLORREF 含む構造体を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETINSERTMARKCOLOR 機能をエミュレートします。

CListCtrl::SetItem

リスト ビュー アイテムの属性の一部またはすべてを設定します。

BOOL SetItem(const LVITEM* pItem);

BOOL SetItem(
    int nItem,
    int nSubItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam);

BOOL SetItem(
    int nItem,
    int nSubItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam,
    int nIndent);

パラメーター

pItem
LVITEM Windows SDK で説明されているように、新しい項目属性を含む構造体のアドレス。 構造体 iItemiSubItem メンバーは項目またはサブ項目を識別し、構造体の mask メンバーは設定する属性を指定します。 メンバーのmask詳細については、「解説」を参照してください。

nItem
属性を設定するアイテムのインデックス。

nSubItem
属性が設定されるサブ項目のインデックス。

nMask
設定する属性を指定します (「解説」を参照)。

lpszItem
アイテムのラベルを指定する null で終わる文字列のアドレス。

nImage
イメージ リスト内のアイテムのイメージのインデックス。

nState
変更する状態の値を指定します (「解説」を参照)。

nStateMask
変更する状態を指定します (「解説」を参照)。

lParam
項目に関連付ける 32 ビット (x64 用にコンパイルする場合は 64 ビット) のアプリケーション固有の値。

nIndent
インデントの幅 (ピクセル単位)。 システム定義の最小幅より小さい場合 nIndent 、新しい幅はシステム定義の最小幅に設定されます。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

構造体とパラメーターのLVITEMメンバーiSubItemnItemnSubItemメンバーはiItem、属性が設定されるアイテムとサブ項目を識別します。

構造体のLVITEMメンバーとnMaskパラメーターはmask、設定する項目属性を指定します。

  • LVIF_TEXTpszTextメンバーまたはlpszItemパラメーターは、null で終わる文字列cchTextMaxのアドレスです。メンバーは無視されます。
  • LVIF_STATEメンバーまたはパラメーターはstateMask、変更する項目の状態を指定し、stateメンバーまたはnStateパラメーターにそれらの状態の値が含nStateMaskまれています。

CListCtrl::HitTest の例を参照してください。

CListCtrl::SetItemCount

多数の項目を追加するためのリスト ビュー コントロールを準備します。

void SetItemCount(int nItems);

パラメーター

nItems
コントロールに最終的に含まれる項目の数。

解説

仮想リスト ビュー コントロールの項目数を設定するには、次を参照してください CListCtrl::SetItemCountEx

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetItemCountWin32 マクロの動作を実装します。

CString str;

// Add 1024 items to the list view control.
m_myListCtrl.SetItemCount(1024);

for (int i = 0; i < 1024; i++)
{
    str.Format(TEXT("item %d"), i);
    m_myListCtrl.InsertItem(i, str);
}

CListCtrl::SetItemCountEx

仮想リスト ビュー コントロールの項目数を設定します。

BOOL SetItemCountEx(
    int iCount,
    DWORD dwFlags = LVSICF_NOINVALIDATEALL);

パラメーター

iCount
コントロールに最終的に含まれる項目の数。

dwFlags
アイテム数をリセットした後のリスト ビュー コントロールの動作を指定します。 この値には、次の組み合わせを指定できます。

  • LVSICF_NOINVALIDATEALL 影響を受ける項目が現在表示されていない限り、リスト ビュー コントロールは再描画されません。 これが既定値です。
  • LVSICF_NOSCROLL リスト ビュー コントロールは、項目数が変更されたときにスクロール位置を変更しません。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このメンバー関数は Win32 マクロの動作を実装します。Windows SDKand で説明されているように、 ListView_SetItemCountEx仮想リスト ビューに対してのみ呼び出す必要があります。

CString str;

// Add 1024 items to the list view control.

// Force my virtual list view control to allocate
// enough memory for my 1024 items.
m_myVirtualListCtrl.SetItemCountEx(1024, LVSICF_NOSCROLL|
    LVSICF_NOINVALIDATEALL);

for (int i = 0; i < 1024; i++)
{
    str.Format(TEXT("item %d"), i);
    m_myVirtualListCtrl.InsertItem(i, str);
}

CListCtrl::SetItemData

で指定 nItemした項目に関連付けられている 32 ビット (x64 用にコンパイルする場合は 64 ビット) アプリケーション固有の値を設定します。

BOOL SetItemData(int nItem, DWORD_PTR dwData);

パラメーター

nItem
データが設定されるリスト アイテムのインデックス。

dwData
項目に関連付ける 32 ビット値 (x64 用にコンパイルしている場合は 64 ビット)。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この値は、 lParam Windows SDK で説明されているように、構造体のメンバー LVITEM です。

// Set the data of each item to be equal to its index.
for (int i = 0; i < m_myListCtrl.GetItemCount(); i++)
{
    m_myListCtrl.SetItemData(i, i);
}

CListCtrl::SetItemIndexState

現在のリスト ビュー コントロール内の項目の状態を設定します。

BOOL SetItemIndexState(
    PLVITEMINDEX pItemIndex,
    DWORD dwState,
    DWORD dwMask) const;

パラメーター

pItemIndex
[in]項目を LVITEMINDEX 記述する構造体へのポインター。 呼び出し元は、この構造体の割り当てとそのメンバーの設定を担当します。

dwState
[in]アイテムを設定する状態。これは、リスト ビュー項目の状態の ビットごとの組み合わせです。 リセットする場合は 0、状態を設定する場合は 1 を指定します。

dwMask
[in]パラメーターで指定された状態の有効なビットの dwState マスク。 リスト ビュー項目の状態ビットごとの組み合わせ (OR) を指定します。

戻り値

TRUEこのメソッドが成功した場合。それ以外の場合は . FALSE

解説

パラメーターの詳細については、「リスト ビュー項目のdwState状態」を参照してください

パラメーターの詳細dwMaskについては、構造体のメンバーをstateMaskLVITEM参照してください。

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_SETITEMINDEXSTATE します。

CListCtrl::SetItemPosition

リスト ビュー コントロール内の指定した位置に項目を移動します。

BOOL SetItemPosition(
    int nItem,
    POINT pt);

パラメーター

nItem
位置が設定されるアイテムのインデックス。

pt
項目の POINT 左上隅の新しい位置をビュー座標で指定する構造体。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

コントロールは、アイコンまたは小さいアイコン ビューに含まれている必要があります。

リスト ビュー コントロールにスタイルがある LVS_AUTOARRANGE 場合、リスト ビューは項目の位置が設定された後に配置されます。

CListCtrl::GetItemPosition の例を参照してください。

CListCtrl::SetItemState

リスト ビュー コントロール内の項目の状態を変更します。

BOOL SetItemState(
    int nItem,
    LVITEM* pItem);

BOOL SetItemState(
    int nItem,
    UINT nState,
    UINT nMask);

パラメーター

nItem
状態が設定されるアイテムのインデックス。 すべての項目に状態変更を適用するには、-1 を渡します。

pItem
LVITEM Windows SDK で説明されているように、構造体のアドレス。 構造体の stateMask メンバーは、変更する状態ビットを指定し、構造体の state メンバーには、それらのビットの新しい値が含まれています。 他のメンバーは無視されます。

nState
状態ビットの新しい値。 使用可能な値の一覧については、状態メンバーをLVITEM参照してくださいCListCtrl::GetNextItem

nMask
変更する状態ビットを指定するマスク。 この値は、構造体の stateMask メンバーに LVITEM 対応します。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

アイテムの "状態" は、アイテムの可用性を指定する値、ユーザー アクションを示す値、またはアイテムの状態を反映する値です。 リスト ビュー コントロールは、ユーザーが項目を選択したときなど、一部の状態ビットを変更します。 アプリケーションは、アイテムを無効または非表示にしたり、オーバーレイ イメージまたは状態イメージを指定したりするために、他の状態ビットを変更する場合があります。

CListCtrl::GetTopIndex の例を参照してください。

CListCtrl::SetItemText

リスト ビュー項目またはサブ項目のテキストを変更します。

BOOL SetItemText(
    int nItem,
    int nSubItem,
    LPCTSTR lpszText);

パラメーター

nItem
テキストが設定されるアイテムのインデックス。

nSubItem
サブ項目のインデックス。項目ラベルを設定する場合は 0。

lpszText
新しい項目のテキストを含む文字列へのポインター。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このメソッドは、ウィンドウ スタイルを含む LVS_OWNERDATA コントロールで使用するためのものではありません (実際には、デバッグ ビルドでアサーションが発生します)。 このリスト コントロール スタイルの詳細については、「リスト ビュー コントロールの概要」を参照してください

CListCtrl::InsertItem の例を参照してください。

CListCtrl::SetOutlineColor

拡張ウィンドウ スタイルが設定されている場合に、リスト ビュー コントロールの境界線の色を LVS_EX_BORDERSELECT 設定します。

COLORREF SetOutlineColor(COLORREF color);

パラメーター

color
アウトラインの色を含む新しい COLORREF 構造体。

戻り値

アウトラインの色を含む前 COLORREF の構造体

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETOUTLINECOLOR 機能をエミュレートします。

CListCtrl::SetSelectedColumn

リスト ビュー コントロールの選択した列を設定します。

LRESULT SetSelectedColumn(int iCol);

パラメーター

iCol
選択する列のインデックス。

戻り値

戻り値は使用されません。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETSELECTEDCOLUMN 機能をエミュレートします。

CListCtrl::SetSelectionMark

リスト ビュー コントロールの選択マークを設定します。

int SetSelectionMark(int iIndex);

パラメーター

iIndex
複数選択の最初の項目の 0 から始まるインデックス。

戻り値

前の選択マーク。選択マークがない場合は -1。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetSelectionMarkWin32 マクロの動作を実装します。

CListCtrl::GetSelectionMark の例を参照してください。

CListCtrl::SetTextBkColor

リスト ビュー コントロール内のテキストの背景色を設定します。

BOOL SetTextBkColor(COLORREF cr);

パラメーター

cr
COLORREF新しいテキストの背景色を指定します。 詳細については、Windows SDK を参照してください COLORREF

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetTextBkColor(crBkColor);
ASSERT(m_myListCtrl.GetTextBkColor() == crBkColor);

CListCtrl::SetTextColor

リスト ビュー コントロールのテキストの色を設定します。

BOOL SetTextColor(COLORREF cr);

パラメーター

cr
COLORREF新しいテキストの色を指定します。 詳細については、Windows SDK を参照してください COLORREF

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

// Use the window text color for
// the item text of the list view control.
COLORREF crTextColor = ::GetSysColor(COLOR_WINDOWTEXT);
m_myListCtrl.SetTextColor(crTextColor);
ASSERT(m_myListCtrl.GetTextColor() == crTextColor);

CListCtrl::SetTileInfo

リスト ビュー コントロールのタイルの情報を設定します。

BOOL SetTileInfo(PLVTILEINFO pTileInfo);

パラメーター

pTileInfo
設定する情報を LVTILEINFO 含む構造体へのポインター。

戻り値

正常に終了した場合は、TRUE を返します。それ以外の場合は、FALSE を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETTILEINFO 機能をエミュレートします。

CListCtrl::SetTileViewInfo

リスト ビュー コントロールがタイル ビューで使用する情報を設定します。

BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);

パラメーター

ptvi
設定する情報を LVTILEVIEWINFO 含む構造体へのポインター。

戻り値

正常に終了した場合は、TRUE を返します。それ以外の場合は、FALSE を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETTILEVIEWINFO 機能をエミュレートします。

CListCtrl::SetToolTips

リスト ビュー コントロールがツールヒントの表示に使用するツールヒント コントロールを設定します。

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

パラメーター

pWndTip
リスト コントロールが CToolTipCtrl 使用するオブジェクトへのポインター。

戻り値

以前にコントロールによって使用されたヒントを含むオブジェクトへの CToolTipCtrl ポインター。または NULL 、以前にツールヒントが使用されなかった場合。

解説

このメンバー関数は、Windows SDK で説明されているように、Win32 メッセージ LVM_SETTOOLTIPSの動作を実装します。

ヒントを使用しない場合は、オブジェクトの作成時に LVS_NOTOOLTIPS スタイルを CListCtrl 指定します。

CListCtrl::SetView

リスト ビュー コントロールのビューを設定します。

DWORD SetView(int iView);

パラメーター

iView
選択するビュー。

戻り値

成功した場合は 1 を返し、それ以外の場合は -1 を返します。 たとえば、ビューが無効な場合、-1 が返されます。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETVIEW 機能をエミュレートします。

CListCtrl::SetWorkAreas

リスト ビュー コントロールにアイコンを表示できる領域を設定します。

void SetWorkAreas(
    int nWorkAreas,
    LPRECT lpRect);

パラメーター

nWorkAreas
指定する配列lpRect内のRECT構造体 (またはCRectオブジェクト) の数。

lpRect
リスト ビュー コントロールの RECT 新しい作業領域を指定する構造体 (または CRect オブジェクト) の配列のアドレス。 これらの領域は、クライアント座標で指定する必要があります。 このパラメーターの NULL場合、作業領域はコントロールのクライアント領域に設定されます。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SetWorkAreasWin32 マクロの動作を実装します。

// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);

CListCtrl::SortGroups

アプリケーション定義の比較関数を使用して、リスト ビュー コントロール内の ID でグループを並べ替えます。

BOOL SortGroups(
    PFNLVGROUPCOMPARE _pfnGroupCompare,
    LPVOID _plv);

パラメーター

_pfnGroupCompare
グループ比較関数へのポインター。

_plv
void ポインター。

戻り値

正常に終了した場合は、TRUE を返します。それ以外の場合は、FALSE を返します。

解説

このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SORTGROUPS 機能をエミュレートします。

CListCtrl::SortItems

アプリケーション定義の比較関数を使用してリスト ビュー項目を並べ替えます。

BOOL SortItems(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

パラメーター

pfnCompare
[in]アプリケーション定義比較関数のアドレス。

並べ替え操作は、2 つのリスト項目の相対順序を決定する必要があるたびに比較関数を呼び出します。 比較関数は、クラスの静的メンバーであるか、クラスのメンバーではないスタンドアロン関数である必要があります。

dwData
[in]比較関数に渡されるアプリケーション定義値。

戻り値

TRUE メソッドが成功した場合。それ以外の場合 FALSEは .

解説

このメソッドは、新しいシーケンスを反映するように各項目のインデックスを変更します。

比較関数 pfnCompareの形式は次のとおりです。

int CALLBACK CompareFunc(LPARAM lParam1,
    LPARAM lParam2,
    LPARAM lParamSort);

比較関数は、最初の項目が 2 番目の項目の前にある場合は負の値を返す必要があります。最初の項目が 2 番目の項目の後に続く場合は正の値、2 つの項目が等しい場合は 0 を返す必要があります。

この lParam1 パラメーターは、比較される最初の項目に関連付けられた 32 ビット値 (x64 用にコンパイルしている場合は 64 ビット) であり lParam2 、パラメーターは 2 番目の項目に関連付けられた値です。 これらは、リストに挿入されたときに項目LVITEMの構造のメンバーでlParam指定された値です。 パラメーターは lParamSort 値と dwData 同じです。

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_SORTITEMS します。

項目が値で lParam 並べ替えられる単純な比較関数を次に示します。

// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2,
    LPARAM lParamSort)
{
    UNREFERENCED_PARAMETER(lParamSort);
    return (int)(lParam1 - lParam2);
}

// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
    m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}

CListCtrl::SortItemsEx

アプリケーション定義比較関数を使用して、現在のリスト ビュー コントロールの項目を並べ替えます。

BOOL SortItemsEx(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

パラメーター

pfnCompare
[in]アプリケーション定義比較関数のアドレス。 並べ替え操作は、2 つのリスト項目の相対順序を決定する必要があるたびに比較関数を呼び出します。 比較関数は、クラスの静的メンバーであるか、クラスのメンバーではないスタンドアロン関数である必要があります。

dwData
[in]比較関数に渡されるアプリケーション定義値。

戻り値

TRUEこのメソッドが成功した場合。それ以外の場合は . FALSE

解説

このメソッドは、新しいシーケンスを反映するように各項目のインデックスを変更します。

比較関数 pfnCompareの形式は次のとおりです。

int CALLBACK CompareFunc(LPARAM lParam1,
    LPARAM lParam2,
    LPARAM lParamSort);

このメッセージは、比較関数に渡される情報の種類を除き、似ています LVM_SORTITEMS。 で LVM_SORTITEMSlParam1 比較 lParam2 する項目の値を指定します。 In LVM_SORTITEMSEXは、 lParam1 比較する最初の項目の現在のインデックスであり、 lParam2 2 番目の項目の現在のインデックスです。 メッセージを送信して、 LVM_GETITEMTEXT アイテムに関する詳細情報を取得できます。

比較関数は、最初の項目が 2 番目の項目の前にある場合は負の値を返す必要があります。最初の項目が 2 番目の項目の後に続く場合は正の値、2 つの項目が等しい場合は 0 を返す必要があります。

Note

並べ替え処理中に、リスト ビューの内容が不安定になります。 コールバック関数が他 LVM_GETITEMのリスト ビュー コントロールにメッセージを送信する場合、結果は予測できません。

このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_SORTITEMSEX します。

最初のコード例では、 m_listCtrl現在のリスト ビュー コントロールにアクセスするために使用される変数を定義します。 この変数は次の例で使用されています。

public:
    // Variable used to access the list control.
    CListCtrl m_listCtrl;

次のコード例では、このメソッドを SortItemEx 示します。 このコード例の前のセクションでは、レポート ビューに "ClientID" と "Grade" という 2 つの列を表示するリスト ビュー コントロールを作成しました。 次のコード例では、"Grade" 列の値を使用してテーブルを並べ替えます。

// The ListCompareFunc() method is a global function used by SortItemEx().
int CALLBACK ListCompareFunc(
                             LPARAM lParam1,
                             LPARAM lParam2,
                             LPARAM lParamSort)
{
    CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
    CString    strItem1 = pListCtrl->GetItemText(static_cast<int>(lParam1), 1);
    CString    strItem2 = pListCtrl->GetItemText(static_cast<int>(lParam2), 1)
    int x1 = _tstoi(strItem1.GetBuffer());
    int x2 = _tstoi(strItem2.GetBuffer());
    int result = 0;
    if ((x1 - x2) < 0)
        result = -1;
    else if ((x1 - x2) == 0)
        result = 0;
    else
        result = 1;

    return result;
}

void CCListCtrl_s2Dlg::OnBnClickedButton1()
{
    // SortItemsEx
    m_listCtrl.SortItemsEx( ListCompareFunc, (LPARAM)&m_listCtrl );
}

CListCtrl::SubItemHitTest

特定の位置にあるリスト ビュー項目 (存在する場合) を決定します。

int SubItemHitTest(LPLVHITTESTINFO pInfo);

パラメーター

pInfo
LVHITTESTINFO 構造体へのポインター。

戻り値

テスト対象の項目またはサブ項目の 1 から始まるインデックス(存在する場合)、それ以外の場合は -1。

解説

このメンバー関数は、Windows SDK で説明されているように、 ListView_SubItemHitTestWin32 マクロの動作を実装します。

void CListCtrlDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)
{
    UNREFERENCED_PARAMETER(pResult);
    LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
    LVHITTESTINFO lvhti;

    // Clear the subitem text the user clicked on.
    lvhti.pt = pia->ptAction;
    m_myListCtrl.SubItemHitTest(&lvhti);

    if (lvhti.flags & LVHT_ONITEMLABEL)
    {
        m_myListCtrl.SetItemText(lvhti.iItem, lvhti.iSubItem, NULL);
    }
}

CListCtrl::Update

リスト ビュー コントロールで指定された nItem項目を強制的に再描画します。

BOOL Update(int nItem);

パラメーター

nItem
更新する項目のインデックス。

戻り値

成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数は、リスト ビュー コントロールにスタイルがある場合も配置します LVS_AUTOARRANGE

CListCtrl::GetSelectedCount の例を参照してください。

関連項目

MFC サンプル ROWLIST
CWnd クラス
階層図
CImageList クラス