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::GetItem
CListCtrl::FindItem
CListCtrl::InsertItem
への項目の追加」、「リスト コントロールでのスクロール、配置、並べ替え、検索」を参照してください。
既定では、リスト ビュー コントロールはアイテムのアイコンとテキスト属性を格納します。 ただし、これらの項目型に加えて、クラス CListCtrl
では "コールバック項目" がサポートされます。"コールバック項目" は、コントロールではなくアプリケーションがテキスト、アイコン、またはその両方を格納するリスト ビュー項目です。 コールバック マスクは、アプリケーションによって提供される項目属性 (テキストやアイコン) を指定するために使用されます。 アプリケーションでコールバック項目を使用する場合は、テキスト属性やアイコン属性をオンデマンドで指定できる必要があります。 コールバック項目は、アプリケーションがこの情報の一部を既にメイン場合に役立ちます。 詳細については、「使用: CListCtrl
コールバック項目とコールバック マスク」を参照してください。
イメージ リスト
リスト ビュー項目のアイコン、ヘッダー項目イメージ、およびアプリケーションで定義された状態は、リスト ビュー コントロールを作成して割り当てる複数のイメージ リスト (クラス CImageList
によって実装) に含まれています。 各リスト ビュー コントロールには、最大 4 種類の画像リストを含めることができます。
大きいアイコン
フルサイズのアイコンのアイコン ビューで使用されます。
小さいアイコン
アイコン ビューで使用されるアイコンの小さいバージョンに対して、小さいアイコン、リスト、およびレポート ビューで使用されます。
アプリケーション定義の状態
状態イメージが含まれています。これは、アプリケーション定義の状態を示す項目のアイコンの横に表示されます。
ヘッダー項目
レポート ビューで、各ヘッダー コントロール アイテムに表示される小さな画像に使用されます。
既定では、リスト ビュー コントロールは、破棄されたときに割り当てられたイメージ リストを破棄します。ただし、開発者は、アプリケーションによって決定された各イメージ リストが使用されなくなったときに破棄することで、この動作をカスタマイズできます。 詳細については、「使用: CListCtrl
リスト アイテムとイメージ リスト」を参照してください。
継承階層
CListCtrl
必要条件
ヘッダー:afxcmn.h
CListCtrl::ApproximateViewRect
リスト ビュー コントロールの項目を表示するために必要な幅と高さを指定します。
CSize ApproximateViewRect(
CSize sz = CSize(-1, -1),
int iCount = -1) const;
パラメーター
sz
コントロールの提案された寸法 (ピクセル単位)。 ディメンションが指定されていない場合、フレームワークはコントロールの現在の幅または高さの値を使用します。
iCount
コントロールに表示する項目の数。 コントロール内の現在の項目の合計数を使用するには、-1 を渡します。
戻り値
CSize
項目を表示するために必要なおおよその幅と高さをピクセル単位で格納するオブジェクト。
解説
このメンバー関数は、Windows SDK で説明されているように、 ListView_ApproximateViewRect
Win32 マクロの動作を実装します。
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
。 たとえば、CreateEx
WS_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
種類に関する情報を含む構造体への長いポインター。
解説
構造体のメンバーは itemAction
、 DRAWITEMSTRUCT
実行する描画アクションを定義します。
既定では、このメンバー関数は何も行いません。 所有者描画 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_GetBkImage
Win32 マクロの動作を実装します。
例
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_GetCheckState
Win32 マクロの動作を実装します。
例
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_GetColumnOrderArray
Win32 マクロの動作を実装します。
例
// 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_GetExtendedListViewStyle
Win32 マクロの動作を実装します。
例
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
メンバーの値をstate
LVGROUP
参照してください。
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]指定したグループに対して取得する状態値を指定するマスク。 詳細については、構造体のメンバーをmask
LVGROUP
参照してください。
戻り値
指定したグループに対して要求された状態。グループが見つからない場合は 0。
解説
戻り値は、パラメーターに対 dwMask
するビットごとの AND 演算の結果と、現在のリスト ビュー コントロールを state
表す構造体のメンバーの LVGROUP
値です。
このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETGROUPSTATE
します。 詳細については、マクロを ListView_GetGroupState
参照してください。
CListCtrl::GetHeaderCtrl
リスト ビュー コントロールのヘッダー コントロールを取得します。
CHeaderCtrl* GetHeaderCtrl();
戻り値
リスト ビュー コントロールによって使用されるヘッダー コントロールへのポインター。
解説
このメンバー関数は、Windows SDK で説明されているように、 ListView_GetHeader
Win32 マクロの動作を実装します。
例
CListCtrl::GetColumnOrderArray
の例を参照してください。
CListCtrl::GetHotCursor
リスト ビュー コントロールに対してホット トラッキングが有効になっているときに使用されるカーソルを取得します。
HCURSOR GetHotCursor();
戻り値
リスト ビュー コントロールによって使用されている現在のホット カーソル リソースへのハンドル。
解説
このメンバー関数は、Windows SDK で説明されているように、 ListView_GetHotCursor
Win32 マクロの動作を実装します。 ホバー選択が有効な場合にのみ表示されるホット カーソルは、カーソルがリスト ビュー項目の上に移動したときに表示されます。 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_GetHotItem
Win32 マクロの動作を実装します。 ホット アイテムは、ホット トラッキング (およびホバー選択) が有効な場合に、現在選択されている項目として定義されます。
ホット トラッキングが有効になっている場合、ユーザーがリスト ビュー項目の上で一時停止すると、マウス ボタンを使用せずに項目ラベルが自動的に強調表示されます。
例
// 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_GetHoverTime
Win32 マクロの動作を実装します。
例
// 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
指定された項目に対するターゲット アイテムの物理的な位置によって異なります。 詳細については、メッセージのパラメーターをflags
LVM_GETNEXTITEMINDEX
参照してください。
戻り値
TRUE
このメソッドが成功した場合。それ以外の場合は . FALSE
解説
呼び出し元は、パラメーターによって指される構造体のメンバーの LVITEMINDEX
割り当てと設定を pItemIndex
担当します。
このメソッドは、Windows SDK で説明されているメッセージを送信 LVM_GETNEXTITEMINDEX
します。
CListCtrl::GetNextSelectedItem
で識別される pos
リスト アイテムのインデックスを取得し、POSITION 値に設定 pos
します。
int GetNextSelectedItem(POSITION& pos) const;
パラメーター
pos
以前の呼び出しによって返された POSITION 値へのGetNextSelectedItem
GetFirstSelectedItemPosition
参照。 値は、この呼び出しによって次の位置に更新されます。
戻り値
で 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_GetNumberOfWorkAreas
Win32 マクロの動作を実装します。
例
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_GetSelectionMark
Win32 マクロの動作を実装します。
例
// 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_GetSubItemRect
Win32 マクロの動作を実装します。
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_GetWorkAreas
Win32 マクロの動作を実装します。
例
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_TOLEFT
LVHT_ABOVE
LVHT_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_LEFT
LVCFMT_RIGHT
LVCFMT_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
背景画像の NULL
URL を含む -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
表示されます。 存在する場合 fCheck
は FALSE
、表示されません。
戻り値
項目がチェックされている場合は 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
メンバーは、設定する列属性を指定します。 メンバーが値をmask
LVCF_TEXT
指定した場合、構造体のpszText
メンバーは null で終わる文字列のアドレスであり、構造体のcchTextMax
メンバーは無視されます。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
例
CListCtrl::GetColumn
の例を参照してください。
CListCtrl::SetColumnOrderArray
リスト ビュー コントロールの列の順序 (左から右) を設定します。
BOOL SetColumnOrderArray(
int iCount,
LPINT piArray);
パラメーター
piArray
リスト ビュー コントロール内の列のインデックス値を含むバッファーへのポインター (左から右)。 バッファーは、リスト ビュー コントロール内の列の合計数を格納するのに十分な大きさである必要があります。
iCount
リスト ビュー コントロール内の列の数。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数は、Windows SDK で説明されているように、 ListView_SetColumnOrderArray
Win32 マクロの動作を実装します。
例
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_SetExtendedListViewStyle
Win32 マクロの動作を実装します。
例
// 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_SetHotCursor
Win32 マクロの動作を実装します。
ホバー選択が有効な場合にのみ表示されるホット カーソルは、カーソルがリスト ビュー項目に渡されるときに表示されます。 拡張スタイルを設定すると、ホバー選択が LVS_EX_TRACKSELECT
有効になります。
例
CListCtrl::GetHotCursor
の例を参照してください。
CListCtrl::SetHotItem
リスト ビュー コントロールの現在のホットアイテムを設定します。
int SetHotItem(int iIndex);
パラメーター
iIndex
ホット アイテムとして設定する項目の 0 から始まるインデックス。
戻り値
以前にホットな項目の 0 から始まるインデックス。
解説
このメンバー関数は、Windows SDK で説明されているように、 ListView_SetHotItem
Win32 マクロの動作を実装します。
例
CListCtrl::GetHotItem
の例を参照してください。
CListCtrl::SetHoverTime
リスト ビュー コントロールの現在のホバー時間を設定します。
DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);
パラメーター
dwHoverTime
選択する前にマウス カーソルを項目の上に置く必要がある新しい遅延 (ミリ秒単位)。 既定値が渡された場合、時刻は既定のホバー時間に設定されます。
戻り値
前のホバー時間 (ミリ秒)。
解説
このメンバー関数は、Windows SDK で説明されているように、 ListView_SetHoverTime
Win32 マクロの動作を実装します。
例
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_SetIconSpacing
Win32 マクロの動作を実装します。
例
// 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 で説明されているように、新しい項目属性を含む構造体のアドレス。 構造体 iItem
と iSubItem
メンバーは項目またはサブ項目を識別し、構造体の mask
メンバーは設定する属性を指定します。 メンバーのmask
詳細については、「解説」を参照してください。
nItem
属性を設定するアイテムのインデックス。
nSubItem
属性が設定されるサブ項目のインデックス。
nMask
設定する属性を指定します (「解説」を参照)。
lpszItem
アイテムのラベルを指定する null で終わる文字列のアドレス。
nImage
イメージ リスト内のアイテムのイメージのインデックス。
nState
変更する状態の値を指定します (「解説」を参照)。
nStateMask
変更する状態を指定します (「解説」を参照)。
lParam
項目に関連付ける 32 ビット (x64 用にコンパイルする場合は 64 ビット) のアプリケーション固有の値。
nIndent
インデントの幅 (ピクセル単位)。 システム定義の最小幅より小さい場合 nIndent
、新しい幅はシステム定義の最小幅に設定されます。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
構造体とパラメーターのLVITEM
メンバーiSubItem
とnItem
nSubItem
メンバーはiItem
、属性が設定されるアイテムとサブ項目を識別します。
構造体のLVITEM
メンバーとnMask
パラメーターはmask
、設定する項目属性を指定します。
LVIF_TEXT
pszText
メンバーまたはlpszItem
パラメーターは、null で終わる文字列cchTextMax
のアドレスです。メンバーは無視されます。LVIF_STATE
メンバーまたはパラメーターはstateMask
、変更する項目の状態を指定し、state
メンバーまたはnState
パラメーターにそれらの状態の値が含nStateMask
まれています。
例
CListCtrl::HitTest
の例を参照してください。
CListCtrl::SetItemCount
多数の項目を追加するためのリスト ビュー コントロールを準備します。
void SetItemCount(int nItems);
パラメーター
nItems
コントロールに最終的に含まれる項目の数。
解説
仮想リスト ビュー コントロールの項目数を設定するには、次を参照してください CListCtrl::SetItemCountEx
。
このメンバー関数は、Windows SDK で説明されているように、 ListView_SetItemCount
Win32 マクロの動作を実装します。
例
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
については、構造体のメンバーをstateMask
LVITEM
参照してください。
このメソッドは、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_SetSelectionMark
Win32 マクロの動作を実装します。
例
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_SetWorkAreas
Win32 マクロの動作を実装します。
例
// 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_SORTITEMS
、 lParam1
比較 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_SubItemHitTest
Win32 マクロの動作を実装します。
例
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
の例を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示