共用方式為


CListCtrl::MapIndexToID

將某個項目的索引目前清單檢視控制項的唯一 ID.

UINT MapIndexToID(
     UINT index
) const;

參數

參數

描述

[in] index

項目之以零起始的索引。

傳回值

指定之項目的唯一 ID。

備註

內部清單檢視控制項依索引追蹤項目。 在控制項的存留期 (Lifetime) 內,,,因為索引可變更這可能會出現問題。 當建立項目時,清單檢視控制項可以用 ID 標記項目。 您可以使用這個 ID 存取清單檢視控制項存留期的特定項目。

請注意在索引在執行緒上才會確保裝載清單檢視控制項,而不是在背景上的多執行緒環境中執行緒。

這個方法會將 LVM_MAPINDEXTOID 資訊,在 Windows SDK說明。

需求

標題: afxcmn.h

這個控制項在 Windows Vista (含) 以後版本支援。

這個方法的其他需要。 Windows Vista 通用控制項的組建需求說明。

範例

下列程式碼範例會定義名為的變數, m_listCtrl,用於存取目前清單檢視控制項。 這個變數用於下一個範例。

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

下列程式碼範例將示範 MapIndexToID 方法。 在這個程式碼的前面的章節中,我們會建立顯示兩個資料行標題為「ClientID」和「訂單」將報告檢視中的清單檢視控制項。 下列範例會將每個清單檢視項目索引對應至識別號碼,然後擷取每個識別項的索引。 最後,此範例會報告原始索引是否已擷取

  // 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 類別

階層架構圖表

LVM_MAPINDEXTOID

CListCtrl::MapIDToIndex