Udostępnij za pośrednictwem


CListCtrl::MapIndexToID

Mapuje indeksu elementu w formancie bieżącego widoku listy unikatowy identyfikator.

UINT MapIndexToID(
     UINT index
) const;

Parametry

Parametr

Opis

[w]index

Wyświetlanego elementu.

Wartość zwracana

Unikatowy identyfikator dla określonego towaru.

Uwagi

Formantu widoku listy wewnętrznie śledzi elementów według indeksu.Może stwarzać problemy, ponieważ indeksów można zmieniać podczas okresu istnienia tego formantu.Formant widoku listy można oznakować elementu z Identyfikatorem po utworzeniu elementu.Ten identyfikator umożliwia dostęp określonego towaru dla okresu istnienia formantu widoku listy.

Uwaga w środowisku wielowątkowym indeksu jest zagwarantowanie tylko w wątku, obsługującego formantu widoku listy nie na tle wątków.

Metoda ta wysyła LVM_MAPINDEXTOID wiadomości, która jest opisana w Windows SDK.

Wymagania

Nagłówek: afxcmn.h

Ten formant jest obsługiwany w Windows Vista i później.

Dodatkowe wymagania dla tej metody opisane w Budowanie wymagania dla systemu Windows Vista wspólnej kontroli.

Przykład

Poniższy przykład kodu definiuje zmienną, m_listCtrl, czyli używane do bieżącego widoku listy kontroli dostępu.Ta zmienna jest używana w następnym przykładzie.

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

Poniższy przykład kodu pokazuje MapIndexToID metody.We wcześniejszej sekcji tego przykładu kodu stworzyliśmy formantu widoku listy, który wyświetla dwie kolumny zatytułowanej "ClientID" i "Klasa" w widoku raportu.Poniższy przykład mapuje indeks każdego elementu widoku listy numer identyfikacyjny i następnie pobiera indeks dla każdego numeru identyfikacyjnego.Wreszcie przykład raportów, czy oryginalne indeksy zostały pobrane.

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

Zobacz też

Informacje

Klasa CListCtrl

Wykres hierarchii

LVM_MAPINDEXTOID

CListCtrl::MapIDToIndex