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);