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
を 参照してください。
ビュー
リスト ビュー コントロールでは、"views" と呼ばれる 4 つの異なる方法でコンテンツを表示できます。
アイコン ビュー
各項目は、その下にラベルが付いたフルサイズのアイコン (32 x 32 ピクセル) として表示されます。 ユーザーは、リスト ビュー ウィンドウ内の任意の場所に項目をドラッグできます。
小さいアイコン ビュー
各項目は、右側にラベルが付いた小さなアイコン (16 x 16 ピクセル) として表示されます。 ユーザーは、リスト ビュー ウィンドウ内の任意の場所に項目をドラッグできます。
リスト ビュー
各項目は、右側にラベルが付いた小さなアイコンとして表示されます。 項目は列に配置され、リスト ビュー ウィンドウ内の任意の場所にドラッグすることはできません。
レポート ビュー
各項目は独自の行に表示され、右側の列に追加情報が配置されます。 左端の列には小さなアイコンとラベルが含まれています。後続の列には、アプリケーションで指定されたサブ項目が含まれます。 埋め込みヘッダー コントロール (クラス
CHeaderCtrl
) は、これらの列を実装します。 レポート ビューのヘッダー コントロールと列の詳細については、「コントロールへのCListCtrl
列の追加 (レポート ビュー)の使用」を参照してください。
コントロールの現在のリスト ビューのスタイルによって、現在のビューが決めます。 これらのスタイルとその使用方法の詳細については、「使用: リスト コントロールスタイルの 変更 CListCtrl
」を参照してください。
拡張スタイル
クラスでは、標準のリスト スタイルに CListCtrl
加えて、拡張スタイルの大規模なセットがサポートされ、強化された機能が提供されます。 この機能の例を次に示します。
ホバーの選択
を有効にすると、カーソルが一定の期間項目の上に残っている場合に項目を自動選択できます。
仮想リスト ビュー
有効にすると、 コントロールは最大 DWORD 項目をサポートできます。 これは、項目データを管理するオーバーヘッドをアプリケーションに配置することで可能です。 項目の選択とフォーカス情報を除き、すべての項目情報をアプリケーションで管理する必要があります。 詳細については、「Using
CListCtrl
: Virtual List Controls」を参照してください。1 回のクリックと 2 回のクリックによるアクティブ化
有効にすると、ホット トラッキング (項目テキストの自動強調表示) と、強調表示された項目の 1 回または 2 回のクリックによるアクティブ化が許可されます。
列の順序をドラッグ アンド ドロップする
を有効にすると、リスト ビュー コントロール内の列のドラッグ アンド ドロップによる並べ替えを許可します。 レポート ビューでのみ使用できます。
これらの新しい拡張スタイルの使用については、「使用: リスト コントロール スタイルの 変更 CListCtrl
」を参照してください。
項目とサブ項目
リスト ビュー コントロールの各項目は、アイコン (画像リストから)、ラベル、現在の状態、およびアプリケーション定義の値 ("項目データ" と呼ばれます) で構成されます。 1 つ以上のサブ項目を各項目に関連付けはまたできます。 "subitem" は、レポート ビューで、アイテムのアイコンとラベルの右側にある列に表示できる文字列です。 リスト ビュー コントロール内のすべての項目は、同じ数のサブ項目を持っている必要があります。
クラス CListCtrl
には、これらの項目の挿入、削除、検索、および変更を行う関数がいくつか含まれています。 詳細については、「、CListCtrl::GetItem
および 、CListCtrl::InsertItem
CListCtrl::FindItem
コントロールへの項目の追加」、およびリスト コントロールでのスクロール、配置、並べ替え、および検索に関するページを参照してください。
既定では、リスト ビュー コントロールは項目のアイコンとテキスト属性を格納します。 ただし、これらの項目の種類に加えて、 クラスは "コールバック CListCtrl
項目" をサポートします。"コールバック項目" は、コントロールではなくアプリケーションがテキスト、アイコン、または両方を格納するリスト ビュー項目です。 コールバック マスクは、アプリケーションによって提供される項目属性 (テキストやアイコン) を指定するために使用されます。 アプリケーションでコールバック項目を使用する場合は、必要に応じてテキスト属性やアイコン属性を指定できる必要があります。 コールバック項目は、アプリケーションでこの情報の一部が既に保持されている場合に役立ちます。 詳細については、「Using : Callback CListCtrl
Items and the Callback Mask」を参照してください。
イメージ リスト
リスト ビュー 項目のアイコン、ヘッダー項目イメージ、およびアプリケーションで定義された状態は、リスト ビュー コントロールに作成して割り当てる複数のイメージ リスト ( CImageList
クラスによって実装) に含まれています。 各リスト ビュー コントロールには、最大 4 種類の画像リストを含めできます。
大きいアイコン
フルサイズのアイコンのアイコン ビューで使用されます。
小さいアイコン
アイコン ビューで使用されるアイコンの小さいバージョンの場合は、小さいアイコン、リスト、およびレポート ビューで使用されます。
アプリケーション定義の状態
状態イメージが含まれています。これは、アプリケーション定義の状態を示すために項目のアイコンの横に表示されます。
ヘッダー項目
各ヘッダー コントロール アイテムに表示される小さな画像のレポート ビューで使用されます。
既定では、リスト ビュー コントロールは、破棄されると、そのコントロールに割り当てられたイメージ リストを破棄します。ただし、開発者は、アプリケーションによって決定された、使用されなくなったときに各イメージ リストを破棄することで、この動作をカスタマイズできます。 詳細については、「使用: 項目とイメージ リスト CListCtrl
の一覧表示」を参照してください。
継承階層
CListCtrl
必要条件
ヘッダー:afxcmn.h
CListCtrl::ApproximateViewRect
リスト ビュー コントロールの項目を表示するために必要な幅と高さを決定します。
CSize ApproximateViewRect(
CSize sz = CSize(-1, -1),
int iCount = -1) const;
パラメーター
sz
コントロールの提案されたサイズ (ピクセル単位)。 ディメンションが指定されていない場合、フレームワークはコントロールの現在の幅または高さの値を使用します。
iCount
コントロールに表示される項目の数。 コントロール内の現在の項目の総数を使用するには、-1 を渡します。
戻り値
項目 CSize
をピクセル単位で表示するために必要なおおよその幅と高さを格納する オブジェクト。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_ApproximateViewRect
詳細については、「Windows SDK」を参照してください。
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();
注釈
このメンバー関数は、LVM_CANCELEDITLABEL
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::CListCtrl
CListCtrl
オブジェクトを構築します。
CListCtrl();
CListCtrl::Create
リスト コントロールを作成し、 オブジェクトにアタッチ CListCtrl
します。
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
パラメーター
dwStyle
リスト コントロールのスタイルを指定します。 リスト コントロール スタイルの任意の組み合わせをコントロールに適用します。 これらのスタイルの完全な一覧については、Windows SDK のリスト ビュー ウィンドウ のスタイルに関するページを参照してください。 を使用して、コントロールに固有の拡張スタイルを設定します SetExtendedStyle
。
rect
リスト コントロールのサイズと位置を指定します。 オブジェクトまたは 構造体 CRect
を指定 RECT
できます。
pParentWnd
リスト コントロールの親ウィンドウ (通常は ) を指定します CDialog
。 NULL は指定できません。
nID
リスト コントロールの ID を指定します。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
を構築するには、 CListCtrl
2 つの手順を実行します。 最初に、コンストラクターを呼び出してから Create
を呼び出します。このメソッドは、リスト ビュー コントロールを作成し、それを オブジェクトにアタッチ CListCtrl
します。
拡張スタイルをリスト Windowsに適用するにはCreateEx
、 ではなく を呼び出しますCreate
。
例
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 SDK の dwExStyleCreateWindowEx
パラメーターをWindowsしてください。
dwStyle
リスト コントロールのスタイルを指定します。 リスト コントロール スタイルの任意の組み合わせをコントロールに適用します。 これらのスタイルの完全な一覧については、Windows SDK の「リスト ビュー ウィンドウのスタイル」を参照してください。
rect
のクライアント座標 RECT
で、作成するウィンドウのサイズと位置を記述する 構造体への参照 pParentWnd
。
pParentWnd
コントロールの親であるウィンドウへのポインター。
nID
コントロールの子ウィンドウ ID。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
のCreateEx
代わりに、 をCreate
使用して、Windowsスタイルの前に指定された拡張Windowsスタイルを適用しますWS_EX_
。
CreateEx
は、 で指定された拡張スタイルをWindowsコントロールを作成しますdwExStyle
。 コントロールに固有の拡張スタイルを設定するには、 を呼び出します SetExtendedStyle
。 たとえば、 を使用して CreateEx
、このようなスタイルを SetExtendedStyle
WS_EX_CONTEXTHELPに設定しますが、 を使用して、これらのスタイルを設定LVS_EX_FULLROWSELECT。 詳細については、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
します。
アプリケーションは、このメンバー関数が終了する前に、 で指定された表示コンテキストに対して選択されたグラフィックス デバイス インターフェイス (GDI) lpDrawItemStruct
オブジェクトを復元する必要があります。
CListCtrl::EditLabel
項目のテキストのイン Place 編集を開始します。
CEdit* EditLabel(int nItem);
パラメーター
nItem
編集するリスト ビュー項目のインデックス。
戻り値
成功した場合は、項目テキストの編集 CEdit
に使用される オブジェクトへのポインター。それ以外の場合は NULL
。
注釈
ウィンドウ スタイルを持つリスト LVS_EDITLABELS
ビュー コントロールを使用すると、ユーザーは項目ラベルを編集できます。 ユーザーは、フォーカスがある項目のラベルをクリックして編集を開始します。
この関数を使用して、指定したリスト ビュー項目のテキストのイン Place 編集を開始します。
例
// 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 操作に失敗しました。
注釈
このメンバー関数は、LVM_ENABLEGROUPVIEW
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
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 を返します。
注釈
このメソッドは、次の SDK の説明に従って、Win32 ListView_GetBkImage
マクロ の動作Windowsします。
例
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。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetCheckState
詳細については、「Windows SDK」を参照してください。
例
CListCtrl::SetCheck
の例を参照してください。
CListCtrl::GetColumn
リスト ビュー コントロールの列の属性を取得します。
BOOL GetColumn(
int nCol,
LVCOLUMN* pColumn) const;
パラメーター
nCol
属性を取得する列のインデックス。
pColumn
列に関 LVCOLUMN
する情報を取得および受信する情報を指定する 構造体のアドレス。 メンバー mask
は、取得する列属性を指定します。 メンバーが mask
pszText
cchTextMax
LVCF_TEXT 値を指定する場合、メンバーには項目テキストを受け取るバッファーのアドレスが含まれている必要があります。また、メンバーはバッファーのサイズを指定する必要があります。
戻り値
成功した場合は 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 を返します。
解説
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetColumnOrderArray
詳細については、「Windows SDK」を参照してください。
例
// 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;
戻り値
CString
コントロールが空の場合に表示するテキストを格納している。
注釈
このメソッドは、Windows SDK で説明されて LVM_GETEMPTYTEXT
いるメッセージを送信します。
CListCtrl::GetExtendedStyle
リストビューコントロールの現在の拡張スタイルを取得します。
DWORD GetExtendedStyle();
戻り値
リストビューコントロールによって現在使用されている拡張スタイルの組み合わせ。 これらの拡張スタイルの説明リストについては、Windows SDK の拡張リストビュースタイルに関する記事を参照してください。
注釈
このメンバー関数は、Windows SDK で説明されているように、Win32 マクロ ListView_GetExtendedListViewStyle
の動作を実装します。
例
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。
注釈
このメソッドは、Windows SDK で説明されて LVM_GETFOCUSEDGROUP
いるメッセージを送信します。 詳細については、構造体の LVGROUP
メンバーの state
値を参照してください LVGS_FOCUSED
。
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
からグループの0から始まるインデックス。
pGroup
入出力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" と "グレード" という名前の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
からグループを指定します。
lpRect
[入力、出力]構造体への RECT
ポインター。 このメソッドが成功した場合、構造体は、によって iGroupId
指定されたグループの四角形の座標を受け取ります。
iCoords
から取得する四角形の座標を指定します。 次のいずれかの値を使用します。
LVGGR_GROUP
-(既定値) 展開されたグループ全体の座標。LVGGR_HEADER
-ヘッダーのみの座標 (折りたたまれたグループ)。LVGGR_SUBSETLINK
-サブセットリンクのみの座標 (マークアップサブセット)。
戻り値
TRUE
このメソッドが成功した場合は。それ以外の FALSE
場合は。
注釈
呼び出し元は、パラメーターによって pRect
示される構造体を割り当てる RECT
役割を担います。
このメソッドは、Windows SDK で説明されて LVM_GETGROUPRECT
いるメッセージを送信します。
例
最初のコード例では、現在のリストビューコントロールにアクセスするために使用される変数 m_listCtrl
を定義します。 この変数は次の例で使用されています。
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
次のコード例は、メソッドを GetGroupRect
示しています。 このコード例の前のセクションでは、レポートビューに "ClientID" と "グレード" という名前の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
からグループの0から始まるインデックス。
dwMask
[in]指定したグループに対して取得する状態値を指定するマスク。 詳細については、 構造体のメンバーに関 mask
するページを参照 LVGROUP
してください。
戻り値
指定したグループに対して要求された状態。グループが見つからない場合は 0。
注釈
戻り値は、 パラメーターに対するビット処理 AND dwMask
state
LVGROUP
演算と、現在のリスト ビュー コントロールを表す構造体のメンバーの値の結果です。
このメソッドは、SDK LVM_GETGROUPSTATE
のセクションで説明されているメッセージをWindowsします。 詳細については、 マクロを参照 ListView_GetGroupState
してください。
CListCtrl::GetHeaderCtrl
リスト ビュー コントロールのヘッダー コントロールを取得します。
CHeaderCtrl* GetHeaderCtrl();
戻り値
リスト ビュー コントロールによって使用されるヘッダー コントロールへのポインター。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetHeader
詳細については、「Windows SDK」を参照してください。
例
CListCtrl::GetColumnOrderArray
の例を参照してください。
CListCtrl::GetHotCursor
リスト ビュー コントロールに対してホット トラッキングが有効になっている場合に使用されるカーソルを取得します。
HCURSOR GetHotCursor();
戻り値
リスト ビュー コントロールで使用されている現在のホット カーソル リソースへのハンドル。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetHotCursor
詳細については、「Windows SDK」を参照してください。 ホバー選択が有効になっている場合にのみ表示されるホット カーソルは、カーソルがリスト ビュー項目を超えるときに表示されます。 ホバーの選択は、拡張スタイルのLVS_EX_TRACKSELECTによって有効になります。
例
// 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();
戻り値
リスト ビュー コントロールの現在のホット項目のインデックス。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetHotItem
詳細については、「Windows SDK」を参照してください。 ホットな追跡 (およびホバーの選択) が有効になっている場合、ホット項目は現在選択されている項目として定義されます。
ホット トラッキングが有効になっている場合、ユーザーがリスト ビュー項目の上に一時停止すると、項目ラベルがマウス ボタンを使用せずに自動的に強調表示されます。
例
// 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 の場合、ホバー時間は既定のホバー時間になります。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetHoverTime
詳細については、「Windows SDK」を参照してください。
例
// 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
のサイズと等しくない場合、 が返されます。
注釈
このメンバー関数は、LVM_GETINSERTMARK
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::GetInsertMarkColor
挿入マークの現在の色を取得します。
COLORREF GetInsertMarkColor() const;
戻り値
挿入ポイントの COLORREF
色を含む 構造体を返します。
注釈
このメンバー関数は、LVM_GETINSERTMARKCOLOR
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::GetInsertMarkRect
挿入ポイントを外接する四角形を取得します。
int GetInsertMarkRect(LPRECT pRect) const;
パラメーター
pRect
挿入ポイントを RECT
境界する四角形の座標を格納している 構造体へのポインター。
戻り値
次の値のいずれか。
- 0 挿入ポイントが見つかりません。
- 1 挿入 ポイントが見つかりました。
注釈
このメンバー関数は、LVM_GETINSERTMARKRECT
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::GetItem
リスト ビュー項目の属性の一部またはすべてが取得されます。
BOOL GetItem(LVITEM* pItem) const;
パラメーター
pItem
項目の属性 LVITEM
を受け取る構造体へのポインター。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
構造体 LVITEM
は、リスト ビューアイテムの属性を指定または受け取ります。
CListCtrl::GetItemCount
リスト ビュー コントロール内の項目の数を取得します。
int GetItemCount() const;
戻り値
リスト ビュー コントロール内の項目の数。
例
CListCtrl::DeleteItem
の例を参照してください。
CListCtrl::GetItemData
で指定された項目に関連付けられている 32 ビット アプリケーション固有の値 (x64 用にコンパイルする場合は 64 ビット) を取得します nItem
。
DWORD_PTR GetItemData(int nItem) const;
パラメーター
nItem
データを取得するリスト項目のインデックス。
戻り値
指定した項目に関連付けられている 32 ビット (x64 用にコンパイルする場合は 64 ビット) のアプリケーション固有の値。
注釈
この値は、lParam
次の SDK のLVITEM
説明に従って、 構造体Windowsします。
例
// 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
入出力サブ項目の外接する四角形に関する情報を受け取る構造体へ 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" と "グレード" という名前の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
から項目の間隔を取得するビュー。 小さいアイコンビューの場合は、アイコン表示の場合は FALSE
を指定し TRUE
ます。
pnHorzSpacing
入出力項目間の左右の間隔を格納します。
pnVertSpacing
入出力項目間の上下の間隔を格納します。
戻り値
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にすることも、次のいずれかの値を指定することもできます。
LVNI_DROPHILITED
項目の状態フラグが設定されてLVIS_DROPHILITED
います。LVNI_FOCUSED
項目の状態フラグが設定されてLVIS_FOCUSED
います。LVNI_SELECTED
項目の状態フラグが設定されてLVIS_SELECTED
います。
指定したすべての状態フラグが項目に設定されていない場合は、次の項目から検索が続行されます。
戻り値
成功した場合は、次の項目のインデックス。それ以外の場合は-1。
CListCtrl::GetNextItemIndex
指定されたプロパティのセットを持つ、現在のリストビューコントロール内の項目のインデックスを取得します。
BOOL GetNextItemIndex(
PLVITEMINDEX pItemIndex,
int nFlags) const;
パラメーター
pItemIndex
[入力、出力]検索が開始される項目を記述する構造体への LVITEMINDEX
ポインター。または、-1 は、 nFlags パラメーターのフラグと一致する最初の項目を検索します。 このメソッドが成功した場合、構造体は LVITEMINDEX
検索によって検出された項目を記述します。
nFlags
から検索の実行方法を指定するフラグのビットごとの組み合わせ (or)。 検索は、ターゲット項目のインデックス、状態、または外観、またはパラメーターで pItemIndex
指定された項目に対するターゲット項目の物理的な位置によって異なります。 詳細については、メッセージのパラメーター LVM_GETNEXTITEMINDEX
を参照してください flags
。
戻り値
TRUE
このメソッドが成功した場合は。それ以外の FALSE
場合は。
注釈
呼び出し元は、パラメーターによって pItemIndex
示される構造体の LVITEMINDEX
メンバーの割り当てと設定を行います。
このメソッドは、Windows SDK で説明されて LVM_GETNEXTITEMINDEX
いるメッセージを送信します。
CListCtrl::GetNextSelectedItem
によって pos
識別されるリスト項目のインデックスを取得し、その位置の値をに設定 pos
します。
int GetNextSelectedItem(POSITION& pos) const;
パラメーター
pos
以前のまたは GetFirstSelectedItemPosition
へ GetNextSelectedItem
の呼び出しによって返された位置の値への参照。 値は、この呼び出しによって次の位置に更新されます。
戻り値
で識別されるリスト項目のインデックス pos
。
注釈
を呼び出 GetNextSelectedItem
して初期位置を確立する場合は、前方反復ループで を使用できます GetFirstSelectedItemPosition
。
値が有効である必要 POSITION
があります。 無効な場合は、デバッグ バージョンのアサートMicrosoft Foundation Class ライブラリされます。
例
この関数の使用方法を次のコード サンプルに示します。
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;
戻り値
現時点では使用されません。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetNumberOfWorkAreas
詳細については、「Windows SDK」を参照してください。
例
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
を含む 構造体を返します。
注釈
このメンバー関数は、LVM_GETOUTLINECOLOR
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::GetOrigin
リスト ビュー コントロールの現在のビューの原点を取得します。
BOOL GetOrigin(LPPOINT lpPoint) const;
パラメーター
lpPoint
ビューの原点 POINT
を受け取る構造体のアドレス。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。 ただし、コントロールがレポート ビューにある場合、戻り値は常に 0 になります。
CListCtrl::GetSelectedColumn
リスト コントロールで現在選択されている列のインデックスを取得します。
UINT GetSelectedColumn() const;
戻り値
選択した列のインデックス。
注釈
このメンバー関数は、LVM_GETSELECTEDCOLUMN
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
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。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetSelectionMark
詳細については、「Windows SDK」を参照してください。
例
// 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
取得する外接する四角形 (リスト ビュー サブ項目の) の部分を決定します。 外接する四角形の部分 (アイコン、ラベル、または両方) OR
は、ビット演算子を次の値の 1 つ以上に適用することによって指定します。
LVIR_BOUNDS
アイコンやラベルなど、項目全体の外接する四角形を返します。LVIR_ICON
アイコンまたは小さいアイコンの外接する四角形を返します。LVIR_LABEL
アイコンやラベルなど、項目全体の外接する四角形を返します。 これは と同じですLVIR_BOUNDS
。
ref
サブ項目の CRect
外接する四角形の座標を含む オブジェクトへの参照。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetSubItemRect
詳細については、「Windows SDK」を参照してください。
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
け取る 構造体へのポインター。
戻り値
戻り値は使用されません。
注釈
このメンバー関数は、LVM_GETTILEINFO
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::GetTileViewInfo
タイル ビューのリスト ビュー コントロールに関する情報を取得します。
BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;
パラメーター
ptvi
取得した情報を LVTILEVIEWINFO
受け取る 構造体へのポインター。
戻り値
戻り値は使用されません。
注釈
このメンバー関数は、LVM_GETTILEVIEWINFO
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::GetToolTips
リスト ビュー コントロールがツールヒントを表示するために使用するツールヒント コントロールを取得します。
CToolTipCtrl* GetToolTips() const;
戻り値
リスト コントロールによって CToolTipCtrl
使用される オブジェクトへのポインター。 メンバー関数 Create
で スタイルを使用する場合 LVS_NOTOOLTIPS
、ツールヒントは使用されません。NULL が返されます。
注釈
このメンバー関数は、次の SDK の説明に従って、Win32 LVM_GETTOOLTIPS
メッセージ の動作Windowsします。 の 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;
戻り値
リスト ビュー コントロールの現在のビュー。
注釈
このメンバー関数は、LVM_GETVIEW
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
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
またはオブジェクト) の配列へのポインター。 これらの構造体の値は、クライアント座標です。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_GetWorkAreas
詳細については、「Windows SDK」を参照してください。
例
CListCtrl::GetNumberOfWorkAreas
の例を参照してください。
CListCtrl::HasGroup
リスト ビュー コントロールに指定したグループが含めるかどうかを判断します。
BOOL HasGroup(int iGroupId) const;
パラメーター
iGroupId
要求されているグループの識別子。
戻り値
正常に終了した場合は、TRUE
を返します。それ以外の場合は、FALSE
を返します。
注釈
このメンバー関数は、LVM_HASGROUP
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::HitTest
指定した位置にあるリスト ビュー項目 (ある場合) を決定します。
int HitTest(LVHITTESTINFO* pHitTestInfo) const;
int HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
パラメーター
pHitTestInfo
ヒット テストの LVHITTESTINFO
結果に関する情報を受け取るヒット テストの位置を含む 構造体のアドレス。
pt
テストされる点。
pFlags
テストの結果に関する情報を受け取る整数へのポインター。 Windows SDK の flags
LVHITTESTINFO
構造体のメンバーの説明を参照してください。
戻り値
で指定された位置にある pHitTestInfo
項目のインデックス 。ある場合は 。それ以外の場合は -1。
注釈
構造体のメンバーの LVHT_ABOVE
、LVHT_BELOW
LVHT_TOLEFT
および LVHT_TORIGHT
flag
の値を使用して、リスト ビュー コントロールの内容をスクロールするかどうかを決定できます。 これらのフラグの 2 つを組み合わせることができます。たとえば、クライアント領域の上と左側の位置の場合です。
構造体のメンバーの値 LVHT_ONITEM
を flag
テストして、指定された位置がリスト ビュー項目の上にあるかどうかを判断できます。 この値は、構造体のメンバーLVHT_ONITEMICON
の 、LVHT_ONITEMLABEL
LVHT_ONITEMSTATEICON
、および の値に対するビット演算 OR flag
演算です。
例
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 を返します。
注釈
このメンバー関数は、LVM_INSERTGROUP
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::InsertGroupSorted
指定したグループをグループの順序付きリストに挿入します。
LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);
パラメーター
pStructInsert
挿入するグループ LVINSERTGROUPSORTED
を含む 構造体へのポインター。
戻り値
戻り値は使用されません。
注釈
このメンバー関数は、LVM_INSERTGROUPSORTED
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
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
次の SDK の説明に従って、項目の属性を指定する LVITEM Windowsポインター。
nItem
挿入する項目のインデックス。
lpszItem
項目のラベルを含 LPSTR_TEXTCALLBACK
む文字列のアドレス。項目がコールバック項目の場合は 。 コールバック項目の詳細については、「」を参照してください CListCtrl::GetCallbackMask
。
nImage
項目のイメージのインデックス。項目 I_IMAGECALLBACK
がコールバック項目の場合は 。 コールバック項目の詳細については、「」を参照してください CListCtrl::GetCallbackMask
。
nMask
パラメーター nMask
は、パラメーターとして渡される項目属性を指定します。 これは、Windows LVITEM
SDK の「Structure」で説明されているマスク値の 1 つ以上です。 有効な値は、ビット演算子 OR 演算子と組み合わせることができます。
nState
項目の状態、状態イメージ、およびオーバーレイ イメージを示します。 有効なフラグの一覧については、「Windows SDK LVITEM
トピックの構造とリスト ビュー項目の状態」を参照してください。
nStateMask
状態メンバーのビットを取得または変更します。 詳細については、「LVITEM
Windows SDK の構造」を参照してください。
lParam
項目に関連付けられた 32 ビット のアプリケーション固有の値 (x64 用にコンパイルする場合は 64 ビット)。 このパラメーターを指定する場合は、 属性を設定する必要 nMask
があります LVIF_PARAM
。
戻り値
成功した場合は新しい項目のインデックス。それ以外の場合は -1。
注釈
このメソッドを呼び出した場合、 LVM_INSERTITEM
メッセージがコントロール ウィンドウに送信される可能性があります。 コントロールに関連付けられているメッセージ ハンドラーが、特定の条件下で項目テキストを設定できなかった場合があります (たとえば、 などのウィンドウ スタイルの使用 LVS_OWNERDRAW
)。 これらの条件の詳細については、「LVM_INSERTITEM
Windows SDK」を参照してください。
例
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
Point パラメーターで定義された座標に最も近い挿入ポイントを指定する構造体へ LVINSERTMARK
のポインター。
戻り値
指定したポイントに最も近い挿入ポイント。
注釈
このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_INSERTMARKHITTEST
機能をエミュレートします。
CListCtrl::IsGroupViewEnabled
リストビューコントロールに対してグループビューが有効かどうかを指定します。
BOOL IsGroupViewEnabled() const;
戻り値
グループビューが有効な場合はを返します。それ以外の場合は FALSE
を返し TRUE
ます。
注釈
このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_ISGROUPVIEWENABLED
機能をエミュレートします。
CListCtrl::IsItemVisible
現在のリストビューコントロール内の指定された項目を表示するかどうかを示します。
BOOL IsItemVisible(int index) const;
パラメーター
index
から現在のリストビューコントロール内の項目の0から始まるインデックス。
戻り値
TRUE
指定した項目が表示されている場合は。それ以外の FALSE
場合は。
注釈
このメソッドは、Windows SDK で説明されて LVM_ISITEMVISIBLE
いるメッセージを送信します。
CListCtrl::MapIDToIndex
現在のリストビューコントロール内の項目の一意の ID をインデックスにマップします。
UINT MapIDToIndex(UINT id) const;
パラメーター
id
から項目の一意の ID。
戻り値
指定された ID の現在のインデックス。
注釈
リストビューコントロールは、インデックスによって項目を内部で追跡します。 これには、コントロールの有効期間中にインデックスが変更される可能性があるため、問題が発生する可能性があります。 リストビューコントロールは、項目が作成されたときに ID で項目にタグを付けることができます。また、この ID を使用して、リストビューコントロールの有効期間中の一意性を保証できます。
マルチスレッド環境では、インデックスは、バックグラウンドスレッドではなく、リストビューコントロールをホストするスレッドでのみ保証されます。
このメソッドは、Windows SDK で説明されて LVM_MAPIDTOINDEX
いるメッセージを送信します。
CListCtrl::MapIndexToID
現在のリストビューコントロール内の項目のインデックスを一意の ID にマップします。
UINT MapIndexToID(UINT index) const;
パラメーター
index
から項目の0から始まるインデックス。
戻り値
指定されたアイテムの一意の ID。
注釈
リストビューコントロールは、インデックスによって項目を内部で追跡します。 これには、コントロールの有効期間中にインデックスが変更される可能性があるため、問題が発生する可能性があります。 リストビューコントロールは、項目が作成されたときに ID で項目にタグを付けることができます。 この ID を使用して、リストビューコントロールの有効期間にわたって特定の項目にアクセスできます。
マルチスレッド環境では、インデックスは、バックグラウンドスレッドではなく、リストビューコントロールをホストするスレッドでのみ保証されます。
このメソッドは、Windows SDK で説明されて LVM_MAPINDEXTOID
いるメッセージを送信します。
例
最初のコード例では、現在のリストビューコントロールにアクセスするために使用される変数 m_listCtrl
を定義します。 この変数は次の例で使用されています。
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
次のコード例は、メソッドを MapIndexToID
示しています。 このコード例の前のセクションでは、レポートビューに "ClientID" と "グレード" という名前の2つの列を表示するリストビューコントロールを作成しました。 次の例では、各リストビューアイテムのインデックスを識別番号にマップし、各 id 番号のインデックスを取得します。 最後に、元のインデックスが取得されたかどうかを報告します。
// 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
から移動する項目のインデックス。
idGroupTo
から項目の移動先となるグループの識別子。
注釈
注意
このメソッドは現在実装されていません。
このメソッドは、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
Sizeのメンバーは、リストビューコントロールの線の高さ (ピクセル単位) で除算され、結果の行数によってコントロールがスクロールされます。
戻り値
成功した場合は 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 を返します。
注釈
注意
では OLE CListCtrl::SetBkImage
COM 機能が使用されるので、 を使用する前に OLE ライブラリを初期化する必要があります SetBkImage
。 アプリケーションの初期化時に COM ライブラリを初期化し、アプリケーションの終了時にライブラリを初期化解除する方法が最適です。 これは、ACTIVEX テクノロジ、OLE オートメーション、OLE Linking/Embedding、または 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 を返します。
解説
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_SetColumnOrderArray
詳細については、「Windows SDK」を参照してください。
例
CListCtrl::GetColumnOrderArray
の例を参照してください。
CListCtrl::SetColumnWidth
レポート ビューまたはリスト ビューの列の幅を変更します。
BOOL SetColumnWidth(
int nCol,
int cx);
パラメーター
nCol
幅を設定する列のインデックス。 リスト ビューでは、このパラメーターは 0 である必要があります。
cx
列の新しい幅。 SDK の説明LVSCW_AUTOSIZE
に従LVSCW_AUTOSIZE_USEHEADER
ってLVM_SETCOLUMNWIDTH
、 または Windowsできます。
戻り値
成功した場合は 0 以外を返します。それ以外の場合は 0 を返します。
CListCtrl::SetExtendedStyle
リスト ビュー コントロールの現在の拡張スタイルを設定します。
DWORD SetExtendedStyle(DWORD dwNewStyle);
パラメーター
dwNewStyle
リスト ビュー コントロールで使用される拡張スタイルの組み合わせ。 これらのスタイルのわかりやすい一覧については、Windows SDK の「拡張リスト ビュー スタイル」を参照してください。
戻り値
リスト ビュー コントロールで使用された以前の拡張スタイルの組み合わせ。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_SetExtendedListViewStyle
詳細については、「Windows SDK」を参照してください。
例
// 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。
注釈
このメソッドは、SDK LVM_SETGROUPINFO
のセクションで説明されているメッセージをWindowsします。
CListCtrl::SetGroupMetrics
リスト ビュー コントロールのグループ メトリックを設定します。
void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);
パラメーター
pGroupMetrics
設定するグループ LVGROUPMETRICS
メトリック情報を含む 構造体へのポインター。
注釈
このメンバー関数は、LVM_SETGROUPMETRICS
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::SetHotCursor
リスト ビュー コントロールに対してホット トラッキングが有効になっている場合に使用するカーソルを設定します。
HCURSOR SetHotCursor(HCURSOR hc);
パラメーター
hc
ホット カーソルを表すカーソル リソースへのハンドル。
戻り値
リスト ビュー コントロールで使用されている以前のホット カーソル リソースへのハンドル。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_SetHotCursor
詳細については、「Windows SDK」を参照してください。
ホバー選択が有効になっている場合にのみ表示されるホット カーソルは、カーソルがリスト ビュー項目の上を通過するときに表示されます。 拡張スタイルを設定することで、ホバーの選択 LVS_EX_TRACKSELECT
が有効になります。
例
CListCtrl::GetHotCursor
の例を参照してください。
CListCtrl::SetHotItem
リスト ビュー コントロールの現在のホット項目を設定します。
int SetHotItem(int iIndex);
パラメーター
iIndex
ホット項目として設定する項目の 0 から始るインデックス。
戻り値
以前にホットだった項目の 0 から始るインデックス。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_SetHotItem
詳細については、「Windows SDK」を参照してください。
例
CListCtrl::GetHotItem
の例を参照してください。
CListCtrl::SetHoverTime
リスト ビュー コントロールの現在のホバー時間を設定します。
DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);
パラメーター
dwHoverTime
新しい遅延 (ミリ秒単位)。 選択する前に、マウス カーソルを項目の上に置く必要があります。 既定値を渡した場合、時刻は既定のホバー時間に設定されます。
戻り値
前のホバー時間 (ミリ秒単位)。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_SetHoverTime
詳細については、「Windows SDK」を参照してください。
例
CListCtrl::GetHoverTime
の例を参照してください。
CListCtrl::SetIconSpacing
リスト ビュー コントロールのアイコン間の間隔を設定します。
CSize SetIconSpacing(
int cx,
int cy);
CSize SetIconSpacing(CSize size);
パラメーター
cx
x 軸上のアイコン間の距離 (ピクセル単位)。
cy
y 軸上のアイコン間の距離 (ピクセル単位)。
size
x CSize
軸と y 軸のアイコン間の距離 (ピクセル単位) を指定する オブジェクト。
戻り値
アイコン CSize
の間隔の前の値を格納している オブジェクト。
注釈
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_SetIconSpacing
詳細については、「Windows SDK」を参照してください。
例
// 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
を返します。
注釈
このメンバー関数は、LVM_SETINFOTIP
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::SetInsertMark
挿入ポイントを定義された位置に設定します。
BOOL SetInsertMark(LPLVINSERTMARK plvim);
パラメーター
plvim
挿入ポイントを設定 LVINSERTMARK
する場所を指定する 構造体へのポインター。
戻り値
成功した場合 TRUE
は を返します。それ以外の FALSE
場合は を返します。 FALSE
構造体のメンバーのサイズcbSize
LVINSERTMARK
が構造体の実際のサイズと等しくない場合、または現在のビューで挿入ポイントが適用されない場合は、 が返されます。
注釈
このメンバー関数は、LVM_SETINSERTMARK
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
CListCtrl::SetInsertMarkColor
挿入ポイントの色を設定します。
COLORREF SetInsertMarkColor(COLORREF color);
パラメーター
color
挿入 COLORREF
ポイントを設定する色を指定する 構造体。
戻り値
前の色 COLORREF
を含む 構造体を返します。
注釈
このメンバー関数は、LVM_SETINSERTMARKCOLOR
WINDOWS SDK の説明に従って、メッセージの機能をエミュレートします。
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 を返します。
解説
構造体 iItem
の iSubItem
メンバーと メンバー、 LVITEM
および パラメーターと パラメーター nItem
nSubItem
は、属性を設定する項目とサブ項目を識別します。
構造体 mask
のメンバーと LVITEM
パラメーターは、 nMask
設定する項目属性を指定します。
LVIF_TEXT
メンバーpszText
または パラメーターはlpszItem
、null で終える文字列のアドレスです。メンバーcchTextMax
は無視されます。LVIF_STATE
メンバーstateMask
またはパラメーターnStateMask
は変更する項目の状態を指定しstate
nState
、メンバーまたはパラメーターにはそれらの状態の値が含まれます。
例
CListCtrl::HitTest
の例を参照してください。
CListCtrl::SetItemCount
多数の項目を追加するリスト ビュー コントロールを準備します。
void SetItemCount(int nItems);
パラメーター
nItems
コントロールに最終的に含まれる項目の数。
注釈
仮想リスト ビュー コントロールの項目数を設定するには、「」を参照してください CListCtrl::SetItemCountEx
。
このメンバー関数は、Win32 マクロ の動作を実装します。ListView_SetItemCount
詳細については、「Windows SDK」を参照してください。
例
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 を返します。
解説
このメンバー関数は、仮想リスト ビューでのみ呼び出す必要がある Windows SDKand に関するページで説明するように、Win32 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 を返します。
解説
この値は、Windows SDK で説明されているように、構造体の LVITEM
メンバーです lParam
。
例
// 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
から項目を記述する構造体へ LVITEMINDEX
のポインター。 呼び出し元は、この構造体を割り当て、そのメンバーを設定する役割を担います。
dwState
から項目を設定する状態。 リストビュー項目の状態のビットごとの組み合わせです。 リセットする場合は0を、状態を設定する場合は1を指定します。
dwMask
からパラメーターで dwState
指定した状態の有効なビットのマスク。 リストビュー項目の状態のビットごとの組み合わせ (または) を指定します。
戻り値
TRUE
このメソッドが成功した場合は。それ以外の FALSE
場合は。
注釈
パラメーターの dwState
詳細については、「 リストビュー項目の状態」を参照してください。
パラメーターの dwMask
詳細については、構造体の LVITEM
メンバーを参照してください stateMask
。
このメソッドは、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
Windows SDK で説明されているように、構造体の LVITEM
アドレス。 構造体の stateMask
メンバーは、変更する状態ビットを指定します。また、構造体の state
メンバーは、そのビットの新しい値を格納します。 他のメンバーは無視されます。
nState
状態ビットの新しい値。 使用可能な値の一覧については、「」および LVITEM
「状態メンバー」を参照してください CListCtrl::GetNextItem
。
nMask
変更する状態ビットを指定するマスク。 この値は、構造体の LVITEM
stateMask メンバーに対応します。
戻り値
成功した場合は 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 で説明されているように、Win32 マクロ ListView_SetSelectionMark
の動作を実装します。
例
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
の動作を実装します。
ツールヒントを使用しない場合は、オブジェクトを作成 CListCtrl
するときにスタイルを指定 LVS_NOTOOLTIPS
します。
CListCtrl::SetView
リストビューコントロールのビューを設定します。
DWORD SetView(int iView);
パラメーター
iView
選択するビュー。
戻り値
成功した場合は1を返し、それ以外の場合は-1 を返します。 たとえば、ビューが無効な場合は、-1 が返されます。
注釈
このメンバー関数は、Windows SDK で説明されているように、メッセージの LVM_SETVIEW
機能をエミュレートします。
CListCtrl::SetWorkAreas
リストビューコントロールでアイコンを表示する領域を設定します。
void SetWorkAreas(
int nWorkAreas,
LPRECT lpRect);
パラメーター
nWorkAreas
が指す lpRect
配列内の構造体 (または CRect
オブジェクト) の RECT
数。
lpRect
リストビューコントロールの新しい作業領域を指定する構造体 (または CRect
オブジェクト) の RECT
配列のアドレス。 これらの領域は、クライアント座標で指定する必要があります。 このパラメーターが NULL
の場合、作業領域はコントロールのクライアント領域に設定されます。
注釈
このメンバー関数は、Windows SDK で説明されているように、Win32 マクロ ListView_SetWorkAreas
の動作を実装します。
例
// 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
からアプリケーションで定義された比較関数のアドレス。
並べ替え操作では、2つのリスト項目の相対順序を決定する必要があるたびに、比較関数が呼び出されます。 比較関数は、クラスの静的メンバーであるか、任意のクラスのメンバーではないスタンドアロン関数である必要があります。
dwData
から比較関数に渡されるアプリケーション定義の値。
戻り値
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
からアプリケーションで定義された比較関数のアドレス。 並べ替え操作では、2つのリスト項目の相対順序を決定する必要があるたびに、比較関数が呼び出されます。 比較関数は、クラスの静的メンバーであるか、任意のクラスのメンバーではないスタンドアロン関数である必要があります。
dwData
から比較関数に渡されるアプリケーション定義の値。
戻り値
TRUE
このメソッドが成功した場合は。それ以外の FALSE
場合は。
注釈
このメソッドは、新しいシーケンスを反映するように各項目のインデックスを変更します。
比較関数 pfnCompare
には、次の形式があります。
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
このメッセージはと似 LVM_SORTITEMS
ていますが、比較関数に渡される情報の種類が異なります。 lParam1
で LVM_SORTITEMS
は、と lParam2
は比較する項目の値です。 で LVM_SORTITEMSEX
は、 lParam1
は比較 lParam2
する最初の項目の現在のインデックスで、は2番目の項目の現在のインデックスです。 メッセージを送信 LVM_GETITEMTEXT
して、項目に関する詳細情報を取得できます。
比較関数は、最初の項目が2番目の項目の前にある場合は負の値、最初の項目が2番目の項目の場合は正の値、2つの項目が等しい場合は0を返す必要があります。
注意
並べ替え処理中に、リストビューの内容が不安定になります。 コールバック関数が、以外 LVM_GETITEM
のリストビューコントロールにメッセージを送信した場合、結果は予測できません。
このメソッドは、Windows SDK で説明されて LVM_SORTITEMSEX
いるメッセージを送信します。
例
最初のコード例では、現在のリストビューコントロールにアクセスするために使用される変数 m_listCtrl
を定義します。 この変数は次の例で使用されています。
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
次のコード例は、メソッドを SortItemEx
示しています。 このコード例の前のセクションでは、レポートビューに "ClientID" と "グレード" という名前の2つの列を表示するリストビューコントロールを作成しました。 次のコード例では、"グレード" 列の値を使用してテーブルを並べ替えます。
// 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 で説明されているように、Win32 マクロ ListView_SubItemHitTest
の動作を実装します。
例
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
の例を参照してください。