CListCtrl Klasa

Hermetyzuje funkcjonalność "kontrolki widoku listy", która wyświetla kolekcję elementów składających się z ikony (z listy obrazów) i etykiety.

Składnia

class CListCtrl : public CWnd

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CListCtrl::CListCtrl CListCtrl Tworzy obiekt.

Metody publiczne

Nazwa/nazwisko opis
CListCtrl::ApproximateViewRect Określa szerokość i wysokość wymaganą do wyświetlania elementów kontrolki widoku listy.
CListCtrl::Arrange Wyrównuje elementy w siatce.
CListCtrl::CancelEditLabel Anuluje operację edytowania tekstu elementu.
CListCtrl::Create Tworzy kontrolkę listy i dołącza ją do CListCtrl obiektu.
CListCtrl::CreateDragImage Tworzy listę obrazów przeciągania dla określonego elementu.
CListCtrl::CreateEx Tworzy kontrolkę listy z określonymi stylami rozszerzonymi systemu Windows i dołącza ją do CListCtrl obiektu.
CListCtrl::DeleteAllItems Usuwa wszystkie elementy z kontrolki.
CListCtrl::DeleteColumn Usuwa kolumnę z kontrolki widoku listy.
CListCtrl::DeleteItem Usuwa element z kontrolki.
CListCtrl::DrawItem Wywoływana, gdy zmienia się aspekt wizualny kontrolki rysowania właściciela.
CListCtrl::EditLabel Rozpoczyna edytowanie tekstu elementu w miejscu.
CListCtrl::EnableGroupView Włącza lub wyłącza, czy elementy w kontrolce widoku listy są wyświetlane jako grupa.
CListCtrl::EnsureVisible Gwarantuje, że element jest widoczny.
CListCtrl::FindItem Wyszukuje element widoku listy o określonych cechach.
CListCtrl::GetBkColor Pobiera kolor tła kontrolki widoku listy.
CListCtrl::GetBkImage Pobiera bieżący obraz tła kontrolki widoku listy.
CListCtrl::GetCallbackMask Pobiera maskę wywołania zwrotnego dla kontrolki widoku listy.
CListCtrl::GetCheck Pobiera bieżący stan wyświetlania obrazu stanu skojarzonego z elementem.
CListCtrl::GetColumn Pobiera atrybuty kolumny kontrolki.
CListCtrl::GetColumnOrderArray Pobiera kolejność kolumn (od lewej do prawej) kontrolki widoku listy.
CListCtrl::GetColumnWidth Pobiera szerokość kolumny w widoku raportu lub widoku listy.
CListCtrl::GetCountPerPage Oblicza liczbę elementów, które mogą mieścić się w pionie w kontrolce widoku listy.
CListCtrl::GetEditControl Pobiera uchwyt kontrolki edycji używanej do edytowania tekstu elementu.
CListCtrl::GetEmptyText Pobiera ciąg do wyświetlenia, jeśli bieżąca kontrolka widoku listy jest pusta.
CListCtrl::GetExtendedStyle Pobiera bieżące rozszerzone style kontrolki widoku listy.
CListCtrl::GetFirstSelectedItemPosition Pobiera położenie pierwszego wybranego elementu widoku listy w kontrolce widoku listy.
CListCtrl::GetFocusedGroup Pobiera grupę, która ma fokus klawiatury w bieżącej kontrolce widoku listy.
CListCtrl::GetGroupCount Pobiera liczbę grup w bieżącej kontrolce widoku listy.
CListCtrl::GetGroupInfo Pobiera informacje dla określonej grupy kontrolki widoku listy.
CListCtrl::GetGroupInfoByIndex Pobiera informacje o określonej grupie w bieżącej kontrolce widoku listy.
CListCtrl::GetGroupMetrics Pobiera metryki grupy.
CListCtrl::GetGroupRect Pobiera prostokąt ograniczenia dla określonej grupy w bieżącej kontrolce widoku listy.
CListCtrl::GetGroupState Pobiera stan określonej grupy w bieżącej kontrolce widoku listy.
CListCtrl::GetHeaderCtrl Pobiera kontrolkę nagłówka kontrolki widoku listy.
CListCtrl::GetHotCursor Pobiera kursor używany podczas włączania śledzenia gorąca dla kontrolki widoku listy.
CListCtrl::GetHotItem Pobiera element widoku listy obecnie pod kursorem.
CListCtrl::GetHoverTime Pobiera bieżący czas aktywowania kontrolki widoku listy.
CListCtrl::GetImageList Pobiera uchwyt listy obrazów używany dla elementów widoku listy rysunków.
CListCtrl::GetInsertMark Pobiera bieżącą pozycję znacznika wstawiania.
CListCtrl::GetInsertMarkColor Pobiera bieżący kolor znacznika wstawiania.
CListCtrl::GetInsertMarkRect Pobiera prostokąt, który jest powiązany z punktem wstawiania.
CListCtrl::GetItem Pobiera atrybuty elementu widoku listy.
CListCtrl::GetItemCount Pobiera liczbę elementów w kontrolce widoku listy.
CListCtrl::GetItemData Pobiera wartość specyficzną dla aplikacji skojarzona z elementem.
CListCtrl::GetItemIndexRect Pobiera prostokąt ograniczenia dla wszystkich lub części subitem w bieżącej kontrolce widoku listy.
CListCtrl::GetItemPosition Pobiera położenie elementu widoku listy.
CListCtrl::GetItemRect Pobiera prostokąt ograniczenia dla elementu.
CListCtrl::GetItemSpacing Oblicza odstępy między elementami w bieżącej kontrolce widoku listy.
CListCtrl::GetItemState Pobiera stan elementu widoku listy.
CListCtrl::GetItemText Pobiera tekst elementu widoku listy lub elementu podrzędnego.
CListCtrl::GetNextItem Wyszukuje element widoku listy z określonymi właściwościami i z określoną relacją z danym elementem.
CListCtrl::GetNextItemIndex Pobiera indeks elementu w bieżącej kontrolce widoku listy z określonym zestawem właściwości.
CListCtrl::GetNextSelectedItem Pobiera indeks pozycji elementu widoku listy oraz położenie następnego wybranego elementu widoku listy na potrzeby iteracji.
CListCtrl::GetNumberOfWorkAreas Pobiera bieżącą liczbę obszarów roboczych dla kontrolki widoku listy.
CListCtrl::GetOrigin Pobiera bieżące źródło widoku dla kontrolki widoku listy.
CListCtrl::GetOutlineColor Pobiera kolor obramowania kontrolki widoku listy.
CListCtrl::GetSelectedColumn Pobiera indeks aktualnie wybranej kolumny w kontrolce listy.
CListCtrl::GetSelectedCount Pobiera liczbę wybranych elementów w kontrolce widoku listy.
CListCtrl::GetSelectionMark Pobiera znacznik wyboru kontrolki widoku listy.
CListCtrl::GetStringWidth Określa minimalną szerokość kolumny niezbędną do wyświetlenia całego danego ciągu.
CListCtrl::GetSubItemRect Pobiera prostokąt ograniczenia elementu w kontrolce widoku listy.
CListCtrl::GetTextBkColor Pobiera kolor tła tekstu kontrolki widoku listy.
CListCtrl::GetTextColor Pobiera kolor tekstu kontrolki widoku listy.
CListCtrl::GetTileInfo Pobiera informacje o kafelku w kontrolce widoku listy.
CListCtrl::GetTileViewInfo Pobiera informacje o kontrolce widoku listy w widoku kafelka.
CListCtrl::GetToolTips Pobiera kontrolkę etykietki narzędzia używa kontrolki widoku listy do wyświetlania etykietek narzędzi.
CListCtrl::GetTopIndex Pobiera indeks najbardziej widocznego elementu.
CListCtrl::GetView Pobiera widok kontrolki widoku listy.
CListCtrl::GetViewRect Pobiera prostokąt ograniczenia wszystkich elementów w kontrolce widoku listy.
CListCtrl::GetWorkAreas Pobiera bieżące obszary robocze kontrolki widoku listy.
CListCtrl::HasGroup Określa, czy kontrolka widoku listy ma określoną grupę.
CListCtrl::HitTest Określa, który element widoku listy znajduje się w określonej pozycji.
CListCtrl::InsertColumn Wstawia nową kolumnę w kontrolce widoku listy.
CListCtrl::InsertGroup Wstawia grupę do kontrolki widoku listy.
CListCtrl::InsertGroupSorted Wstawia określoną grupę do uporządkowanej listy grup.
CListCtrl::InsertItem Wstawia nowy element w kontrolce widoku listy.
CListCtrl::InsertMarkHitTest Pobiera punkt wstawiania najbliżej określonego punktu.
CListCtrl::IsGroupViewEnabled Określa, czy widok grupy jest włączony dla kontrolki widoku listy.
CListCtrl::IsItemVisible Wskazuje, czy określony element w bieżącej kontrolce widoku listy jest widoczny.
CListCtrl::MapIDToIndex Mapy unikatowy identyfikator elementu w bieżącej kontrolce widoku listy do indeksu.
CListCtrl::MapIndexToID Mapy indeks elementu w bieżącej kontrolce widoku listy do unikatowego identyfikatora.
CListCtrl::MoveGroup Przenosi określoną grupę.
CListCtrl::MoveItemToGroup Przenosi określoną grupę do określonego indeksu zero kontrolki widoku listy.
CListCtrl::RedrawItems Wymusza formant widoku listy w celu przemalowania zakresu elementów.
CListCtrl::RemoveAllGroups Usuwa wszystkie grupy z kontrolki widoku listy.
CListCtrl::RemoveGroup Usuwa określoną grupę z kontrolki widoku listy.
CListCtrl::Scroll Przewija zawartość kontrolki widoku listy.
CListCtrl::SetBkColor Ustawia kolor tła kontrolki widoku listy.
CListCtrl::SetBkImage Ustawia bieżący obraz tła kontrolki widoku listy.
CListCtrl::SetCallbackMask Ustawia maskę wywołania zwrotnego dla kontrolki widoku listy.
CListCtrl::SetCheck Ustawia bieżący stan wyświetlania obrazu stanu skojarzonego z elementem.
CListCtrl::SetColumn Ustawia atrybuty kolumny widoku listy.
CListCtrl::SetColumnOrderArray Ustawia kolejność kolumn (od lewej do prawej) kontrolki widoku listy.
CListCtrl::SetColumnWidth Zmienia szerokość kolumny w widoku raportu lub widoku listy.
CListCtrl::SetExtendedStyle Ustawia bieżące rozszerzone style kontrolki widoku listy.
CListCtrl::SetGroupInfo Ustawia informacje dla określonej grupy kontrolki widoku listy.
CListCtrl::SetGroupMetrics Ustawia metryki grupy kontrolki widoku listy.
CListCtrl::SetHotCursor Ustawia kursor używany podczas śledzenia gorąca dla kontrolki widoku listy.
CListCtrl::SetHotItem Ustawia bieżący gorący element kontrolki widoku listy.
CListCtrl::SetHoverTime Ustawia bieżący czas aktywowania kontrolki widoku listy.
CListCtrl::SetIconSpacing Ustawia odstępy między ikonami w kontrolce widoku listy.
CListCtrl::SetImageList Przypisuje listę obrazów do kontrolki widoku listy.
CListCtrl::SetInfoTip Ustawia tekst etykietki narzędzia.
CListCtrl::SetInsertMark Ustawia punkt wstawiania na zdefiniowaną pozycję.
CListCtrl::SetInsertMarkColor Ustawia kolor punktu wstawiania.
CListCtrl::SetItem Ustawia niektóre lub wszystkie atrybuty elementu widoku listy.
CListCtrl::SetItemCount Przygotowuje kontrolkę widoku listy do dodawania dużej liczby elementów.
CListCtrl::SetItemCountEx Ustawia liczbę elementów dla wirtualnej kontrolki widoku listy.
CListCtrl::SetItemData Ustawia wartość specyficzną dla aplikacji elementu.
CListCtrl::SetItemIndexState Ustawia stan elementu w bieżącej kontrolce widoku listy.
CListCtrl::SetItemPosition Przenosi element do określonej pozycji w kontrolce widoku listy.
CListCtrl::SetItemState Zmienia stan elementu w kontrolce widoku listy.
CListCtrl::SetItemText Zmienia tekst elementu widoku listy lub elementu podrzędnego.
CListCtrl::SetOutlineColor Ustawia kolor obramowania kontrolki widoku listy.
CListCtrl::SetSelectedColumn Ustawia wybraną kolumnę kontrolki widoku listy.
CListCtrl::SetSelectionMark Ustawia znacznik wyboru kontrolki widoku listy.
CListCtrl::SetTextBkColor Ustawia kolor tła tekstu w kontrolce widoku listy.
CListCtrl::SetTextColor Ustawia kolor tekstu kontrolki widoku listy.
CListCtrl::SetTileInfo Ustawia informacje dotyczące kafelka kontrolki widoku listy.
CListCtrl::SetTileViewInfo Ustawia informacje używane przez kontrolkę widoku listy w widoku kafelka.
CListCtrl::SetToolTips Ustawia kontrolkę etykietki narzędzia, która będzie używana przez kontrolkę widoku listy do wyświetlania etykietek narzędzi.
CListCtrl::SetView Ustawia widok kontrolki widoku listy.
CListCtrl::SetWorkAreas Ustawia obszar, w którym można wyświetlać ikony w kontrolce widoku listy.
CListCtrl::SortGroups Sortuje grupy kontrolki widoku listy za pomocą funkcji zdefiniowanej przez użytkownika.
CListCtrl::SortItems Sortuje elementy widoku listy przy użyciu funkcji porównania zdefiniowanej przez aplikację.
CListCtrl::SortItemsEx Sortuje elementy widoku listy przy użyciu funkcji porównania zdefiniowanej przez aplikację.
CListCtrl::SubItemHitTest Określa, który element widoku listy, jeśli istnieje, znajduje się na danej pozycji.
CListCtrl::Update Wymusza przemalowanie określonego elementu przez kontrolkę.

Uwagi

Oprócz ikony i etykiety każdy element może zawierać informacje wyświetlane w kolumnach po prawej stronie ikony i etykiety. Ta kontrolka CListCtrl (i dlatego klasa) jest dostępna tylko dla programów działających w systemach Windows 95/98 i Windows NT w wersji 3.51 lub nowszej.

Poniżej przedstawiono krótkie omówienie CListCtrl klasy. Aby zapoznać się ze szczegółową, koncepcyjną dyskusją, zobacz Using and Controls (Używanie CListCtrl i kontrolki).

Widoki

Kontrolki widoku listy mogą wyświetlać ich zawartość na cztery różne sposoby, nazywane "widokami".

  • Widok ikon

    Każdy element jest wyświetlany jako ikona o pełnym rozmiarze (32 x 32 piksele) z etykietą poniżej. Użytkownik może przeciągnąć elementy do dowolnej lokalizacji w oknie widoku listy.

  • Widok małej ikony

    Każdy element jest wyświetlany jako mała ikona (16 x 16 pikseli) z etykietą po prawej stronie. Użytkownik może przeciągnąć elementy do dowolnej lokalizacji w oknie widoku listy.

  • Widok listy

    Każdy element jest wyświetlany jako mała ikona z etykietą po prawej stronie. Elementy są rozmieszczane w kolumnach i nie można ich przeciągać do żadnej lokalizacji w oknie widoku listy.

  • Widok raportu

    Każdy element jest wyświetlany we własnym wierszu z dodatkowymi informacjami rozmieszczonymi w kolumnach po prawej stronie. Kolumna po lewej stronie zawiera małą ikonę i etykietę, a kolejne kolumny zawierają podwitryk określone przez aplikację. Osadzona kontrolka nagłówka (klasa CHeaderCtrl) implementuje te kolumny. Aby uzyskać więcej informacji na temat kontrolki nagłówka i kolumn w widoku raportu, zobacz Using : Add Columns to the Control (Widok raportu)Using CListCtrl: Add Columns to the Control (Widok raportu).

Styl bieżącego widoku listy kontrolki określa bieżący widok. Aby uzyskać więcej informacji na temat tych stylów i ich użycia, zobacz Using : Changing List Control Styles (Używanie: CListCtrlZmienianie stylów kontrolek listy).

Style rozszerzone

Oprócz standardowych stylów listy klasa CListCtrl obsługuje duży zestaw stylów rozszerzonych, zapewniając wzbogacone funkcje. Oto kilka przykładów tej funkcji:

  • Umieść kursor na zaznaczaniu

    Po włączeniu tej opcji umożliwia automatyczne zaznaczanie elementu, gdy kursor pozostaje na elemencie przez określony okres czasu.

  • Widoki listy wirtualnej

    Po włączeniu kontrolki umożliwia obsługę maksymalnie elementów DWORD. Jest to możliwe, umieszczając obciążenie związane z zarządzaniem danymi elementów w aplikacji. Z wyjątkiem informacji o zaznaczeniu elementu i fokusie wszystkie informacje o elemencie muszą być zarządzane przez aplikację. Aby uzyskać więcej informacji, zobacz Using : Virtual List Controls (Używanie CListCtrlkontrolek listy wirtualnej).

  • Aktywacja jednym i dwoma kliknięciem

    Po włączeniu tej opcji umożliwia śledzenie na gorąco (automatyczne wyróżnianie tekstu elementu) i aktywację wyróżnionego elementu jednym lub dwoma kliknięciem.

  • Przeciąganie i upuszczanie kolejności kolumn

    Po włączeniu tej opcji umożliwia przeciąganie i upuszczanie kolejności kolumn w kontrolce widoku listy. Dostępne tylko w widoku raportu.

Aby uzyskać informacje na temat używania tych nowych stylów rozszerzonych, zobacz Using : Changing List Control Styles (Używanie CListCtrl: Zmienianie stylów kontrolek listy).

Elementy i elementy podrzędne

Każdy element w kontrolce widoku listy składa się z ikony (z listy obrazów), etykiety, bieżącego stanu i wartości zdefiniowanej przez aplikację (określanej jako "dane elementu"). Co najmniej jeden element podrzędny może być również skojarzony z każdym elementem. "Subitem" to ciąg, który w widoku raportu może być wyświetlany w kolumnie po prawej stronie ikony i etykiety elementu. Wszystkie elementy w kontrolce widoku listy muszą mieć taką samą liczbę elementów podrzędnych.

Klasa CListCtrl udostępnia kilka funkcji do wstawiania, usuwania, znajdowania i modyfikowania tych elementów. Aby uzyskać więcej informacji, zobacz , i , Dodawanie elementów do kontrolki oraz przewijanie, rozmieszczanie, sortowanie i znajdowanie w kontrolkach listy. CListCtrl::FindItemCListCtrl::InsertItemCListCtrl::GetItem

Domyślnie kontrolka widoku listy jest odpowiedzialna za przechowywanie ikony i atrybutów tekstowych elementu. Jednak oprócz tych typów elementów klasa CListCtrl obsługuje "elementy wywołania zwrotnego". Element "wywołania zwrotnego" to element widoku listy, dla którego aplikacja — a nie kontrolka — przechowuje tekst, ikonę lub oba te elementy. Maska wywołania zwrotnego służy do określania, które atrybuty elementu (tekst i/lub ikona) są dostarczane przez aplikację. Jeśli aplikacja używa elementów wywołania zwrotnego, musi być w stanie podać atrybuty tekstu i/lub ikony na żądanie. Elementy wywołania zwrotnego są przydatne, gdy aplikacja przechowuje już niektóre z tych informacji. Aby uzyskać więcej informacji, zobacz Używanie elementów CListCtrlwywołania zwrotnego i maski wywołania zwrotnego.

Listy obrazów

Ikony, obrazy elementów nagłówka i stany zdefiniowane przez aplikację dla elementów widoku listy znajdują się na kilku listach obrazów (zaimplementowanych przez klasę CImageList), które są tworzone i przypisywane do kontrolki widoku listy. Każda kontrolka widoku listy może zawierać maksymalnie cztery różne typy list obrazów:

  • Duża ikona

    Używany w widoku ikon dla ikon o pełnym rozmiarze.

  • Mała ikona

    Używane w małych ikonach, na liście i w widokach raportu dla mniejszych wersji ikon używanych w widoku ikon.

  • Stan zdefiniowany przez aplikację

    Zawiera obrazy stanu, które są wyświetlane obok ikony elementu w celu wskazania stanu zdefiniowanego przez aplikację.

  • Element nagłówka

    Używany w widoku raportu dla małych obrazów wyświetlanych w każdym elemencie kontrolki nagłówka.

Domyślnie kontrolka widoku listy niszczy przypisane do niej listy obrazów, gdy zostanie ona zniszczona; Deweloper może jednak dostosować to zachowanie, niszcząc każdą listę obrazów, gdy nie jest już używana, zgodnie z definicją aplikacji. Aby uzyskać więcej informacji, zobacz Using : List Items and Image Lists (Używanie CListCtrlelementów listy i list obrazów).

Hierarchia dziedziczenia

CObject

CCmdTarget

CWnd

CListCtrl

Wymagania

Nagłówka:afxcmn.h

CListCtrl::ApproximateViewRect

Określa szerokość i wysokość wymaganą do wyświetlania elementów kontrolki widoku listy.

CSize ApproximateViewRect(
    CSize sz = CSize(-1, -1),
    int iCount = -1) const;

Parametry

sz
Proponowane wymiary kontrolki w pikselach. Jeśli wymiary nie są określone, struktura używa bieżących wartości szerokości lub wysokości kontrolki.

iCount
Liczba elementów do wyświetlenia w kontrolce. Przekaż -1, aby użyć całkowitej liczby elementów aktualnie w kontrolce.

Wartość zwracana

CSize Obiekt zawierający przybliżoną szerokość i wysokość wymaganą do wyświetlenia elementów w pikselach.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_ApproximateViewRectzgodnie z opisem w zestawie Windows SDK.

CListCtrl::Arrange

Zmienia położenie elementów w widoku ikon, tak aby były wyrównane do siatki.

BOOL Arrange(UINT nCode);

Parametry

nCode
Określa styl wyrównania elementów. Może to być jedna z następujących wartości:

  • LVA_ALIGNLEFT Wyrównuje elementy wzdłuż lewej krawędzi okna.
  • LVA_ALIGNTOP Wyrównuje elementy wzdłuż górnej krawędzi okna.
  • LVA_DEFAULT Wyrównuje elementy zgodnie z bieżącymi stylami wyrównania widoku listy (wartość domyślna).
  • LVA_SNAPTOGRID Przyciąga wszystkie ikony do najbliższej pozycji siatki.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Parametr nCode określa styl wyrównania.

Przykład

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

Anuluje operację edytowania tekstu elementu.

void CancelEditLabel();

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_CANCELEDITLABEL zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::CListCtrl

CListCtrl Tworzy obiekt.

CListCtrl();

CListCtrl::Create

Tworzy kontrolkę listy i dołącza ją do CListCtrl obiektu.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametry

dwStyle
Określa styl kontrolki listy. Zastosuj dowolną kombinację stylów kontrolek listy do kontrolki. Aby uzyskać pełną listę tych stylów, zobacz Style okna widoku listy w zestawie Windows SDK. Ustaw style rozszerzone specyficzne dla kontrolki przy użyciu polecenia SetExtendedStyle.

rect
Określa rozmiar i położenie kontrolki listy. Może to być CRect obiekt lub RECT struktura.

pParentWnd
Określa nadrzędne okno kontrolki listy, zwykle CDialog. Nie może mieć wartości NULL.

nID
Określa identyfikator kontrolki listy.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Utworzysz element CListCtrl w dwóch krokach. Najpierw wywołaj konstruktor, a następnie wywołaj Createmetodę , która tworzy kontrolkę widoku listy i dołącza ją do CListCtrl obiektu.

Aby zastosować rozszerzone style systemu Windows do obiektu kontrolki listy, wywołaj metodę CreateEx zamiast Create.

Przykład

m_myListCtrl.Create(
    WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
    CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);

CListCtrl::CreateEx

Tworzy kontrolkę (okno podrzędne) i kojarzy ją z obiektem CListCtrl .

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parametry

dwExStyle
Określa rozszerzony styl tworzonej kontrolki. Aby uzyskać listę rozszerzonych stylów systemu Windows, zobacz parametr dwExStyle dla CreateWindowEx w zestawie Windows SDK.

dwStyle
Określa styl kontrolki listy. Zastosuj dowolną kombinację stylów kontrolek listy do kontrolki. Aby uzyskać pełną listę tych stylów, zobacz Style okien widoku listy w zestawie Windows SDK.

rect
Odwołanie do RECT struktury opisującej rozmiar i położenie okna do utworzenia w współrzędnych pParentWndklienta .

pParentWnd
Wskaźnik do okna, który jest elementem nadrzędnym kontrolki.

nID
Identyfikator okna podrzędnego kontrolki.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Create Zamiast CreateEx stosować rozszerzone style systemu Windows określone w rozszerzonym prefiksie WS_EX_stylu systemu Windows.

CreateEx tworzy kontrolkę z rozszerzonymi stylami systemu Windows określonymi przez dwExStyle. Aby ustawić style rozszerzone specyficzne dla kontrolki, wywołaj metodę SetExtendedStyle. Na przykład użyj polecenia CreateEx , aby ustawić takie style jak WS_EX_CONTEXTHELP, ale służy SetExtendedStyle do ustawiania takich stylów jak LVS_EX_FULLROWSELECT. Aby uzyskać więcej informacji, zobacz style opisane w artykule Rozszerzone style widoku listy w zestawie WINDOWS SDK.

CListCtrl::CreateDragImage

Tworzy listę obrazów przeciągania dla elementu określonego przez nItem.

CImageList* CreateDragImage(
    int nItem,
    LPPOINT lpPoint);

Parametry

*nItem*
Indeks elementu, którego ma zostać utworzona lista obrazów przeciągania.

lpPoint
Adres struktury, która odbiera początkową POINT lokalizację lewego górnego rogu obrazu, we współrzędnych widoku.

Wartość zwracana

Wskaźnik do listy obrazów przeciągania, jeśli się powiedzie; w przeciwnym razie NULL.

Uwagi

Obiekt CImageList jest trwały i należy go usunąć po zakończeniu. Przykład:

CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);

// do something

delete pImageList;

CListCtrl::DeleteAllItems

Usuwa wszystkie elementy z kontrolki widoku listy.

BOOL DeleteAllItems();

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);

CListCtrl::DeleteColumn

Usuwa kolumnę z kontrolki widoku listy.

BOOL DeleteColumn(int nCol);

Parametry

nCol
Indeks kolumny do usunięcia.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();

// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
    m_myListCtrl.DeleteColumn(0);
}

CListCtrl::DeleteItem

Usuwa element z kontrolki widoku listy.

BOOL DeleteItem(int nItem);

Parametry

nItem
Określa indeks elementu do usunięcia.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

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

Wywoływana przez platformę, gdy zmienia się wizualny aspekt kontrolki widoku listy właściciela.

virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

Parametry

lpDrawItemStruct
Długi wskaźnik do DRAWITEMSTRUCT struktury zawierającej informacje o wymaganym typie rysunku.

Uwagi

Element itemAction członkowski DRAWITEMSTRUCT struktury definiuje akcję rysunku, która ma zostać wykonana.

Domyślnie ta funkcja składowa nic nie robi. Zastąpi tę funkcję składową, aby zaimplementować rysunek dla obiektu rysowania CListCtrl właściciela.

Aplikacja powinna przywrócić wszystkie obiekty interfejsu urządzenia graficznego (GDI) wybrane dla kontekstu wyświetlania podanego w lpDrawItemStruct przed zakończeniem tej funkcji składowej.

CListCtrl::EditLabel

Rozpoczyna edytowanie tekstu elementu w miejscu.

CEdit* EditLabel(int nItem);

Parametry

nItem
Indeks elementu widoku listy, który ma zostać edytowany.

Wartość zwracana

Jeśli operacja powiedzie się, wskaźnik do CEdit obiektu, który jest używany do edycji tekstu elementu; w przeciwnym razie NULL.

Uwagi

Kontrolka widoku listy, która ma LVS_EDITLABELS styl okna, umożliwia użytkownikowi edytowanie etykiet elementów. Użytkownik rozpoczyna edycję, klikając etykietę elementu, który ma fokus.

Użyj tej funkcji, aby rozpocząć edycję w miejscu określonego tekstu elementu widoku listy.

Przykład

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

Włącza lub wyłącza, czy elementy w kontrolce widoku listy są wyświetlane jako grupa.

LRESULT EnableGroupView(BOOL fEnable);

Parametry

fEnable
Wskazuje, czy włączyć kontrolkę listview do grupowania wyświetlanych elementów. TRUE aby włączyć grupowanie; FALSE aby go wyłączyć.

Wartość zwracana

Zwraca jedną z następujących wartości:

  • 0 Możliwość wyświetlania elementów widoku listy jako grupy jest już włączona lub wyłączona.
  • 1 Stan kontrolki został pomyślnie zmieniony.
  • -1 Operacja nie powiodła się.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_ENABLEGROUPVIEW zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::EnsureVisible

Gwarantuje, że element widoku listy jest co najmniej częściowo widoczny.

BOOL EnsureVisible(
    int nItem,
    BOOL bPartialOK);

Parametry

nItem
Indeks elementu widoku listy, który ma być widoczny.

bPartialOK
Określa, czy widoczność częściowa jest akceptowalna.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

W razie potrzeby kontrolka widoku listy jest przewijana. Jeśli parametr bPartialOK jest niezerowy, nie ma przewijania, jeśli element jest częściowo widoczny.

Przykład

// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
    m_myListCtrl.EnsureVisible(nCount-1, FALSE);

CListCtrl::FindItem

Wyszukuje element widoku listy o określonych cechach.

int FindItem(
    LVFINDINFO* pFindInfo,
    int nStart = -1) const;

Parametry

pFindInfo
Wskaźnik do LVFINDINFO struktury zawierającej informacje o elemencie do wyszukania.

nStart
Indeks elementu w celu rozpoczęcia wyszukiwania od lub -1, aby rozpocząć od początku. Element w nStart elemencie jest wykluczony z wyszukiwania, jeśli nStart nie jest równy -1.

Wartość zwracana

Indeks elementu, jeśli zakończył się powodzeniem lub -1.

Uwagi

Parametr pFindInfo wskazuje strukturę zawierającą LVFINDINFO informacje używane do wyszukiwania elementu widoku listy.

Przykład

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

Pobiera kolor tła kontrolki widoku listy.

COLORREF GetBkColor() const;

Wartość zwracana

Wartość 32-bitowa używana do określania koloru RGB.

Przykład

Zobacz przykład dla elementu CListCtrl::SetBkColor.

CListCtrl::GetBkImage

Pobiera bieżący obraz tła kontrolki widoku listy.

BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;

Parametry

plvbkImage
Wskaźnik do LVBKIMAGE struktury zawierającej bieżący obraz tła widoku listy.

Wartość zwracana

Zwraca wartość niezerową, jeśli operacja zakończyła się powodzeniem lub zero w przeciwnym razie.

Uwagi

Ta metoda implementuje zachowanie makra Win32, ListView_GetBkImagezgodnie z opisem w zestawie WINDOWS SDK.

Przykład

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

Pobiera maskę wywołania zwrotnego dla kontrolki widoku listy.

UINT GetCallbackMask() const;

Wartość zwracana

Maska wywołania zwrotnego kontrolki widoku listy.

Uwagi

Element "wywołania zwrotnego" to element widoku listy, dla którego aplikacja — a nie kontrolka — przechowuje tekst, ikonę lub oba te elementy. Mimo że kontrolka widoku listy może przechowywać te atrybuty, możesz użyć elementów wywołania zwrotnego, jeśli aplikacja przechowuje już niektóre z tych informacji. Maska wywołania zwrotnego określa, które bity stanu elementu są obsługiwane przez aplikację, i ma zastosowanie do całej kontrolki, a nie do określonego elementu. Maska wywołania zwrotnego domyślnie wynosi zero, co oznacza, że kontrolka śledzi wszystkie stany elementów. Jeśli aplikacja używa elementów wywołania zwrotnego lub określa maskę niezerową wywołania zwrotnego, musi być w stanie podać atrybuty elementu widoku listy na żądanie.

Przykład

Zobacz przykład dla elementu CListCtrl::SetCallbackMask.

CListCtrl::GetCheck

Pobiera bieżący stan wyświetlania obrazu stanu skojarzonego z elementem.

BOOL GetCheck(int nItem) const;

Parametry

nItem
Indeks zerowy elementu kontrolki listy.

Wartość zwracana

Niezero, jeśli element jest zaznaczony, w przeciwnym razie 0.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetCheckStatezgodnie z opisem w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CListCtrl::SetCheck.

CListCtrl::GetColumn

Pobiera atrybuty kolumny kontrolki widoku listy.

BOOL GetColumn(
    int nCol,
    LVCOLUMN* pColumn) const;

Parametry

nCol
Indeks kolumny, której atrybuty mają zostać pobrane.

pColumn
LVCOLUMN Adres struktury, która określa informacje do pobrania i odebrania informacji o kolumnie. Element mask członkowski określa atrybuty kolumny do pobrania. mask Jeśli element członkowski określa wartość LVCF_TEXT, pszText element członkowski musi zawierać adres buforu, który odbiera tekst elementu, a cchTextMax element członkowski musi określić rozmiar buforu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Struktura LVCOLUMN zawiera informacje o kolumnie w widoku raportu.

Przykład

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

Pobiera kolejność kolumn (od lewej do prawej) kontrolki widoku listy.

BOOL GetColumnOrderArray(
    LPINT piArray,
    int iCount = -1);

Parametry

piArray
Wskaźnik do buforu, który będzie zawierać wartości indeksu kolumn w kontrolce widoku listy. Bufor musi być wystarczająco duży, aby zawierał całkowitą liczbę kolumn w kontrolce widoku listy.

iCount
Liczba kolumn w kontrolce widoku listy. Jeśli ten parametr to -1, liczba kolumn jest automatycznie pobierana przez platformę.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetColumnOrderArrayzgodnie z opisem w zestawie Windows SDK.

Przykład

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

Pobiera szerokość kolumny w widoku raportu lub widoku listy.

int GetColumnWidth(int nCol) const;

Parametry

nCol
Określa indeks kolumny, której szerokość ma zostać pobrana.

Wartość zwracana

Szerokość w pikselach kolumny określonej przez nCol.

Przykład

// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);

CListCtrl::GetCountPerPage

Oblicza liczbę elementów, które mogą mieścić się w pionie w widocznym obszarze kontrolki widoku listy w widoku listy w widoku listy lub widoku raportu.

int GetCountPerPage() const;

Wartość zwracana

Liczba elementów, które mogą mieścić się w pionie w widocznym obszarze kontrolki widoku listy w widoku listy lub widoku raportu.

Przykład

Zobacz przykład dla elementu CListCtrl::GetTopIndex.

CListCtrl::GetEditControl

Pobiera uchwyt kontrolki edycji używanej do edytowania tekstu elementu widoku listy.

CEdit* GetEditControl() const;

Wartość zwracana

Jeśli operacja powiedzie się, wskaźnik do CEdit obiektu, który jest używany do edycji tekstu elementu; w przeciwnym razie NULL.

Przykład

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

Pobiera ciąg do wyświetlenia, jeśli bieżąca kontrolka widoku listy jest pusta.

CString GetEmptyText() const;

Wartość zwracana

Element CString zawierający tekst do wyświetlenia, jeśli kontrolka jest pusta.

Uwagi

Ta metoda wysyła LVM_GETEMPTYTEXT komunikat opisany w zestawie SDK systemu Windows.

CListCtrl::GetExtendedStyle

Pobiera bieżące rozszerzone style kontrolki widoku listy.

DWORD GetExtendedStyle();

Wartość zwracana

Kombinacja stylów rozszerzonych używanych obecnie przez kontrolkę widoku listy. Opisowa lista tych stylów rozszerzonych znajduje się w artykule Extended List View Styles (Style widoku listy rozszerzonej) w zestawie Windows SDK.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetExtendedListViewStylezgodnie z opisem w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CListCtrl::SetExtendedStyle.

CListCtrl::GetFirstSelectedItemPosition

Pobiera pozycję pierwszego zaznaczonego elementu w kontrolce widoku listy.

POSITION GetFirstSelectedItemPosition() const;

Wartość zwracana

POSITION Wartość, która może służyć do iteracji lub pobierania wskaźnika obiektu; NULL jeśli nie wybrano żadnych elementów.

Przykład

W poniższym przykładzie kodu pokazano użycie tej funkcji.

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

Pobiera grupę, która ma fokus klawiatury w bieżącej kontrolce widoku listy.

int GetFocusedGroup() const;

Wartość zwracana

Indeks grupy, której stan to LVGS_FOCUSED, jeśli istnieje taka grupa; w przeciwnym razie -1.

Uwagi

Ta metoda wysyła LVM_GETFOCUSEDGROUP komunikat opisany w zestawie SDK systemu Windows. Aby uzyskać więcej informacji, zobacz LVGS_FOCUSED wartość state elementu członkowskiego LVGROUP struktury.

CListCtrl::GetGroupCount

Pobiera liczbę grup w bieżącej kontrolce widoku listy.

int GetGroupCount()const;

Wartość zwracana

Liczba grup w kontrolce widoku listy.

Uwagi

Ta metoda wysyła LVM_GETGROUPCOUNT komunikat opisany w zestawie SDK systemu Windows —> .

CListCtrl::GetGroupInfo

Pobiera informacje dla określonej grupy kontrolki widoku listy.

int GetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp) const;

Parametry

iGroupId
Identyfikator grupy, której informacje mają zostać pobrane.

pgrp
Wskaźnik zawierający LVGROUP informacje o określonej grupie.

Wartość zwracana

Zwraca identyfikator grupy, jeśli się powiedzie, lub -1 w przeciwnym razie.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETGROUPINFO zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetGroupInfoByIndex

Pobiera informacje o określonej grupie w bieżącej kontrolce widoku listy.

BOOL GetGroupInfoByIndex(
    int iIndex,
    PLVGROUP pGroup) const;

Parametry

Iindex
[in] Indeks oparty na zerowej grupie.

PGroup
[out] Wskaźnik do struktury LVGROUP , która odbiera informacje o grupie określonej przez parametr iIndex . Obiekt wywołujący jest odpowiedzialny za inicjowanie członków struktury LVGROUP . cbSize Ustaw element członkowski na rozmiar struktury i flagi mask elementu członkowskiego, aby określić informacje do pobrania.

Wartość zwracana

TRUE jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE.

Uwagi

Ta metoda wysyła LVM_GETGROUPINFOBYINDEX komunikat opisany w zestawie SDK systemu Windows —> .

Przykład

Pierwszy przykład kodu definiuje zmienną , m_listCtrlktóra jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku listy. Ta zmienna jest używana w następnym przykładzie.

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

W następnym przykładzie kodu pokazano metodę GetGroupInfoByIndex . We wcześniejszej sekcji tego przykładu kodu utworzyliśmy kontrolkę widoku listy, która wyświetla dwie kolumny o nazwie "ClientID" i "Grade" w widoku raportu. Poniższy przykład kodu pobiera informacje o grupie, której indeks wynosi 0, jeśli taka grupa istnieje.

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

Pobiera metryki grupy.

void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;

Parametry

pGroupMetrics
Wskaźnik zawierający LVGROUPMETRICS informacje o metrykach grupy.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETGROUPMETRICS zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetGroupRect

Pobiera prostokąt ograniczenia dla określonej grupy w bieżącej kontrolce widoku listy.

BOOL GetGroupRect(
    int iGroupId,
    LPRECT lpRect,
    int iCoords = LVGGR_GROUP) const;

Parametry

iGroupId
[in] Określa grupę.

lpRect
[in, out] Wskaźnik do RECT struktury. Jeśli ta metoda zakończy się pomyślnie, struktura odbiera współrzędne prostokąta grupy określonej przez iGroupIdelement .

iCoords
[in] Określa współrzędne prostokąta do pobrania. Użyj jednej z następujących wartości:

  • LVGGR_GROUP - (Ustawienie domyślne) Współrzędne całej rozwiniętej grupy.
  • LVGGR_HEADER - Współrzędne tylko nagłówka (zwiniętej grupy).
  • LVGGR_SUBSETLINK - Współrzędne tylko linku podzestawu (podzestaw znaczników).

Wartość zwracana

TRUE jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE.

Uwagi

Obiekt wywołujący jest odpowiedzialny za przydzielanie RECT struktury wskazywane pRect przez parametr .

Ta metoda wysyła LVM_GETGROUPRECT komunikat opisany w zestawie SDK systemu Windows.

Przykład

Pierwszy przykład kodu definiuje zmienną , m_listCtrlktóra jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku listy. Ta zmienna jest używana w następnym przykładzie.

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

W następnym przykładzie kodu pokazano metodę GetGroupRect . We wcześniejszej sekcji tego przykładu kodu utworzyliśmy kontrolkę widoku listy, która wyświetla dwie kolumny o nazwie "ClientID" i "Grade" w widoku raportu. Poniższy przykład kodu rysuje prostokąt 3D wokół grupy, której indeks wynosi 0, jeśli taka grupa istnieje.

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

Pobiera stan określonej grupy w bieżącej kontrolce widoku listy.

UINT GetGroupState(
    int iGroupId,
    DWORD dwMask) const;

Parametry

iGroupId
[in] Indeks oparty na zerowej grupie.

dwMask
[in] Maska określająca wartość stanu do pobrania dla określonej grupy. Aby uzyskać więcej informacji, zobacz mask element członkowski LVGROUP struktury.

Wartość zwracana

Żądany stan dla określonej grupy lub 0, jeśli nie można odnaleźć grupy.

Uwagi

Wartość zwracana jest wynikiem bitowej operacji AND dla dwMask parametru i wartości state elementu członkowskiego LVGROUP struktury reprezentującej bieżącą kontrolkę widoku listy.

Ta metoda wysyła LVM_GETGROUPSTATE komunikat opisany w zestawie SDK systemu Windows. Aby uzyskać więcej informacji, zobacz ListView_GetGroupState makro.

CListCtrl::GetHeaderCtrl

Pobiera kontrolkę nagłówka kontrolki widoku listy.

CHeaderCtrl* GetHeaderCtrl();

Wartość zwracana

Wskaźnik do kontrolki nagłówka używany przez kontrolkę widoku listy.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetHeaderzgodnie z opisem w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CListCtrl::GetColumnOrderArray.

CListCtrl::GetHotCursor

Pobiera kursor używany podczas włączania śledzenia gorąca dla kontrolki widoku listy.

HCURSOR GetHotCursor();

Wartość zwracana

Uchwyt bieżącego zasobu kursora gorącego używany przez kontrolkę widoku listy.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetHotCursorzgodnie z opisem w zestawie Windows SDK. Gorący kursor, widoczny tylko po włączeniu zaznaczenia kursora, pojawia się, gdy kursor przechodzi przez dowolny element widoku listy. Zaznaczenie kursora jest włączone przez ustawienie stylu rozszerzonego LVS_EX_TRACKSELECT.

Przykład

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

Pobiera element widoku listy obecnie pod kursorem.

int GetHotItem();

Wartość zwracana

Indeks bieżącego gorącego elementu kontrolki widoku listy.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetHotItemzgodnie z opisem w zestawie Windows SDK. Gorący element jest zdefiniowany jako aktualnie wybrany element po włączeniu śledzenia gorąca (i zaznaczenia kursora).

Jeśli śledzenie gorąca jest włączone, gdy użytkownik wstrzymuje element widoku listy, etykieta elementu jest automatycznie wyróżniona bez użycia przycisku myszy.

Przykład

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

Pobiera bieżący czas aktywowania kontrolki widoku listy.

DWORD GetHoverTime() const;

Wartość zwracana

Zwraca opóźnienie (w milisekundach), które kursor myszy musi umieścić kursor na elemencie, zanim zostanie wybrany. Jeśli zwracana wartość to -1, czas aktywowania to domyślny czas aktywowania.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetHoverTimezgodnie z opisem w zestawie Windows SDK.

Przykład

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

Pobiera uchwyt listy obrazów używany dla elementów widoku listy rysunków.

CImageList* GetImageList(int nImageList) const;

Parametry

nImageList
Wartość określająca listę obrazów do pobrania. Może to być jedna z następujących wartości:

  • LVSIL_NORMAL Lista obrazów z dużymi ikonami.
  • LVSIL_SMALL Lista obrazów z małymi ikonami.
  • LVSIL_STATE Lista obrazów z obrazami stanu.

Wartość zwracana

Wskaźnik do listy obrazów używany dla elementów widoku listy rysunku.

Przykład

ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);

CListCtrl::GetInsertMark

Pobiera bieżącą pozycję znacznika wstawiania.

BOOL GetInsertMark(LPLVINSERTMARK plvim) const;

Parametry

plvim
Wskaźnik do LVINSERTMARK struktury zawierającej informacje o znaczniku wstawiania.

Wartość zwracana

Zwraca wartość w przypadku powodzenia TRUE lub FALSE w inny sposób. FALSE jest zwracany, jeśli rozmiar w cbSize składowej LVINSERTMARK struktury nie jest równy rzeczywistemu rozmiarowi struktury.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETINSERTMARK zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetInsertMarkColor

Pobiera bieżący kolor znacznika wstawiania.

COLORREF GetInsertMarkColor() const;

Wartość zwracana

Zwraca strukturę zawierającą COLORREF kolor punktu wstawiania.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETINSERTMARKCOLOR zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetInsertMarkRect

Pobiera prostokąt, który jest powiązany z punktem wstawiania.

int GetInsertMarkRect(LPRECT pRect) const;

Parametry

pRect
Wskaźnik do RECT struktury zawierającej współrzędne prostokąta powiązanego z punktem wstawiania.

Wartość zwracana

Zwraca jedną z następujących wartości:

  • 0 Nie znaleziono punktu wstawiania.
  • 1 Znaleziony punkt wstawiania.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETINSERTMARKRECT zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetItem

Pobiera niektóre lub wszystkie atrybuty elementu widoku listy.

BOOL GetItem(LVITEM* pItem) const;

Parametry

pItem
Wskaźnik do LVITEM struktury, która odbiera atrybuty elementu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Struktura LVITEM określa lub odbiera atrybuty elementu widoku listy.

CListCtrl::GetItemCount

Pobiera liczbę elementów w kontrolce widoku listy.

int GetItemCount() const;

Wartość zwracana

Liczba elementów w kontrolce widoku listy.

Przykład

Zobacz przykład dla elementu CListCtrl::DeleteItem.

CListCtrl::GetItemData

Pobiera 32-bitową wartość specyficzną dla aplikacji (64-bitową, jeśli kompilujesz dla x64) skojarzona z elementem określonym przez nItem.

DWORD_PTR GetItemData(int nItem) const;

Parametry

nItem
Indeks elementu listy, którego dane mają zostać pobrane.

Wartość zwracana

32-bitowa (64-bitowa, jeśli kompilujesz dla x64) wartość specyficzną dla aplikacji skojarzona z określonym elementem.

Uwagi

Ta wartość jest elementem lParam członkowskim LVITEM struktury, zgodnie z opisem w zestawie Windows SDK

Przykład

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

Pobiera prostokąt ograniczenia dla wszystkich lub części subitem w bieżącej kontrolce widoku listy.

BOOL GetItemIndexRect(
    PLVITEMINDEX pItemIndex,
    int iColumn,
    int rectType,
    LPRECT pRect) const;

Parametry

pItemIndex
[in] Wskaźnik do LVITEMINDEX struktury elementu nadrzędnego subitem. Obiekt wywołujący jest odpowiedzialny za przydzielanie i ustawianie elementów członkowskich LVITEMINDEX struktury. Ten parametr nie może mieć wartości NULL.

iColumn
[in] Zerowy indeks kolumny w kontrolce.

rectType
[in] Część subitem widoku listy, dla którego jest pobierany prostokąt ograniczenia. Określ jedną z następujących wartości:

  • LVIR_BOUNDS — Zwraca prostokąt ograniczenia całego subitem, w tym ikonę i etykietę.
  • LVIR_ICON — Zwraca prostokąt ograniczenia ikony lub małej ikony subitem.
  • LVIR_LABEL - Zwraca prostokąt ograniczenia tekstu podrzędnego.

pRect
[out] Wskaźnik do RECT struktury, która odbiera informacje na temat prostokąta ograniczenia subitem. Obiekt wywołujący jest odpowiedzialny za przydzielanie RECT struktury. Ten parametr nie może mieć wartości NULL.

Wartość zwracana

TRUE jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE.

Uwagi

Ta metoda wysyła LVM_GETITEMINDEXRECT komunikat opisany w zestawie SDK systemu Windows. Aby uzyskać więcej informacji, zobacz ListView_GetItemIndexRect Makro.

Przykład

Pierwszy przykład kodu definiuje zmienną , m_listCtrlktóra jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku listy. Ta zmienna jest używana w następnym przykładzie.

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

W następnym przykładzie kodu pokazano metodę GetGroupRect . Przed wprowadzeniem tego przykładu kodu utworzyliśmy kontrolkę widoku listy, która wyświetla dwie kolumny o nazwie "ClientID" i "Grade" w widoku raportu. Poniższy przykład kodu rysuje prostokąt 3D wokół drugiego subitem w obu kolumnach.

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

Pobiera położenie elementu widoku listy.

BOOL GetItemPosition(
    int nItem,
    LPPOINT lpPoint) const;

Parametry

nItem
Indeks elementu, którego pozycja ma zostać pobrana.

lpPoint
POINT Adres struktury, która odbiera położenie lewego górnego rogu elementu, we współrzędnych widoku.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

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

Pobiera prostokąt ograniczenia dla wszystkich lub części elementu w bieżącym widoku.

BOOL GetItemRect(
    int nItem,
    LPRECT lpRect,
    UINT nCode) const;

Parametry

nItem
Indeks elementu, którego pozycja ma zostać pobrana.

lpRect
RECT Adres struktury odbierającej prostokąt ograniczenia.

nCode
Część elementu widoku listy, dla którego ma być pobierany prostokąt ograniczenia. Może to być jedna z następujących wartości:

  • LVIR_BOUNDS Zwraca prostokąt ograniczenia całego elementu, w tym ikonę i etykietę.
  • LVIR_ICON Zwraca prostokąt ograniczenia ikony lub małej ikony.
  • LVIR_LABEL Zwraca prostokąt ograniczenia tekstu elementu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

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

Oblicza odstępy między elementami w bieżącej kontrolce widoku listy.

BOOL GetItemSpacing(
    BOOL fSmall,
    int* pnHorzSpacing,
    int* pnVertSpacing) const;

Parametry

fSmall
[in] Widok, dla którego mają być pobierane odstępy między elementami. Określ TRUE dla małego widoku ikony lub FALSE widoku ikon.

pnHorzSpacing
[out] Zawiera odstępy w poziomie między elementami.

pnVertSpacing
[out] Zawiera odstęp między elementami w pionie.

Wartość zwracana

TRUE jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE.

Uwagi

Ta metoda wysyła LVM_GETITEMSPACING komunikat opisany w zestawie SDK systemu Windows.

CListCtrl::GetItemState

Pobiera stan elementu widoku listy.

UINT GetItemState(
    int nItem,
    UINT nMask) const;

Parametry

nItem
Indeks elementu, którego stan ma zostać pobrany.

nMask
Maskuj, określając, które flagi stanu elementu mają być zwracane.

Wartość zwracana

Flagi stanu dla określonego elementu widoku listy.

Uwagi

Stan elementu jest określony przez state element członkowski LVITEM struktury, zgodnie z opisem w zestawie WINDOWS SDK. Po określeniu lub zmianie stanu stateMask elementu element członkowski określa, które bity stanu chcesz zmienić.

Przykład

Zobacz przykład dla elementu CListCtrl::GetTopIndex.

CListCtrl::GetItemText

Pobiera tekst elementu widoku listy lub elementu podrzędnego.

int GetItemText(
    int nItem,
    int nSubItem,
    LPTSTR lpszText,
    int nLen) const;

CString GetItemText(
    int nItem,
    int nSubItem) const;

Parametry

nItem
Indeks elementu, którego tekst ma zostać pobrany.

nSubItem
Określa subitem, którego tekst ma zostać pobrany.

lpszText
Wskaźnik do ciągu, który ma odbierać tekst elementu.

nLen
Długość buforu wskazywana przez lpszText.

Wartość zwracana

Zwracana int wersja zwraca długość pobranego ciągu.

Wersja zwracająca element zwraca CString tekst elementu.

Uwagi

Jeśli wartość jest równa zero, ta funkcja pobiera etykietę elementu. Jeśli nSubItemnSubItem element jest inny niżzer, pobiera tekst subitem. Aby uzyskać więcej informacji na temat argumentu subitem, zobacz omówienie LVITEM struktury w zestawie Windows SDK.

CListCtrl::GetNextItem

Wyszukuje element widoku listy, który ma określone właściwości i który nosi określoną relację z danym elementem.

int GetNextItem(
    int nItem,
    int nFlags) const;

Parametry

nItem
Indeks elementu, za pomocą którego chcesz rozpocząć wyszukiwanie, lub -1, aby znaleźć pierwszy element zgodny z określonymi flagami. Określony element jest wykluczony z wyszukiwania.

nFlags
Geometryczna relacja żądanego elementu do określonego elementu oraz stan żądanego elementu. Relacja geometryczna może być jedną z następujących wartości:

  • LVNI_ABOVE Wyszukuje element powyżej określonego elementu.
  • LVNI_ALL Wyszukuje kolejny element według indeksu (wartość domyślna).
  • LVNI_BELOW Wyszukuje element poniżej określonego elementu.
  • LVNI_TOLEFT Wyszukuje element po lewej stronie określonego elementu.
  • LVNI_TORIGHT Wyszukuje element po prawej stronie określonego elementu.

Stan może mieć wartość zero lub może być jedną lub większą jedną z następujących wartości:

  • LVNI_DROPHILITED Element ma ustawioną flagę LVIS_DROPHILITED stanu.
  • LVNI_FOCUSED Element ma ustawioną flagę LVIS_FOCUSED stanu.
  • LVNI_SELECTED Element ma ustawioną flagę LVIS_SELECTED stanu.

Jeśli element nie ma ustawionych wszystkich flag stanu, wyszukiwanie będzie kontynuowane z następnym elementem.

Wartość zwracana

Indeks następnego elementu, jeśli zakończy się pomyślnie, lub -1 w przeciwnym razie.

CListCtrl::GetNextItemIndex

Pobiera indeks elementu w bieżącej kontrolce widoku listy z określonym zestawem właściwości.

BOOL GetNextItemIndex(
    PLVITEMINDEX pItemIndex,
    int nFlags) const;

Parametry

pItemIndex
[in, out] Wskaźnik do LVITEMINDEX struktury, która opisuje element, w którym rozpoczyna się wyszukiwanie, lub -1, aby znaleźć pierwszy element zgodny z flagami w parametrze nFlags . Jeśli ta metoda zakończy się pomyślnie, LVITEMINDEX struktura opisuje element znaleziony przez wyszukiwanie.

nFlags
[in] Kombinacja bitowa (OR) flag określających sposób wykonywania wyszukiwania. Wyszukiwanie może zależeć od indeksu, stanu lub wyglądu elementu docelowego lub pozycji fizycznej elementu docelowego względem elementu określonego pItemIndex przez parametr . Aby uzyskać więcej informacji, zobacz flags parametr w LVM_GETNEXTITEMINDEX komunikacie.

Wartość zwracana

TRUE jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE.

Uwagi

Obiekt wywołujący jest odpowiedzialny za przydzielanie i ustawianie elementów członkowskich LVITEMINDEX struktury wskazywanej pItemIndex przez parametr .

Ta metoda wysyła LVM_GETNEXTITEMINDEX komunikat opisany w zestawie SDK systemu Windows.

CListCtrl::GetNextSelectedItem

Pobiera indeks elementu listy zidentyfikowanego przez poselement , a następnie ustawia pos wartość POSITION.

int GetNextSelectedItem(POSITION& pos) const;

Parametry

pos
Odwołanie do wartości POSITION zwróconej przez poprzednie wywołanie metody GetNextSelectedItem lub GetFirstSelectedItemPosition. Wartość zostanie zaktualizowana do następnego położenia przez to wywołanie.

Wartość zwracana

Indeks elementu listy zidentyfikowany przez poselement .

Uwagi

Można użyć GetNextSelectedItem w pętli iteracji przesyłania dalej, jeśli ustanowisz pozycję początkową z wywołaniem metody GetFirstSelectedItemPosition.

Musisz upewnić się, że wartość POSITION jest prawidłowa. Jeśli jest on nieprawidłowy, oznacza to, że wersja debugowania biblioteki klas programu Microsoft Foundation jest asercyjna.

Przykład

W poniższym przykładzie kodu pokazano użycie tej funkcji.

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

Pobiera bieżącą liczbę obszarów roboczych dla kontrolki widoku listy.

UINT GetNumberOfWorkAreas() const;

Wartość zwracana

Nieużyj w tej chwili.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetNumberOfWorkAreaszgodnie z opisem w zestawie Windows SDK.

Przykład

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

Pobiera kolor obramowania kontrolki widoku listy.

COLORREF GetOutlineColor() const;

Wartość zwracana

Zwraca strukturę zawierającą COLORREF kolor konturu.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETOUTLINECOLOR zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetOrigin

Pobiera bieżące źródło widoku dla kontrolki widoku listy.

BOOL GetOrigin(LPPOINT lpPoint) const;

Parametry

lpPoint
POINT Adres struktury, która odbiera źródło widoku.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero. Jeśli jednak kontrolka znajduje się w widoku raportu, zwracana wartość jest zawsze równa zero.

CListCtrl::GetSelectedColumn

Pobiera indeks aktualnie wybranej kolumny w kontrolce listy.

UINT GetSelectedColumn() const;

Wartość zwracana

Indeks wybranej kolumny.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETSELECTEDCOLUMN zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetSelectedCount

Pobiera liczbę wybranych elementów w kontrolce widoku listy.

UINT GetSelectedCount() const;

Wartość zwracana

Liczba wybranych elementów w kontrolce widoku listy.

Przykład

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

Pobiera znacznik wyboru kontrolki widoku listy.

int GetSelectionMark();

Wartość zwracana

Znacznik wyboru oparty na zerach lub -1, jeśli nie ma znaku zaznaczenia.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetSelectionMarkzgodnie z opisem w zestawie Windows SDK.

Przykład

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

Określa minimalną szerokość kolumny niezbędną do wyświetlenia całego danego ciągu.

int GetStringWidth(LPCTSTR lpsz) const;

Parametry

lpsz
Adres ciągu zakończonego wartością null, którego szerokość ma być określona.

Wartość zwracana

Szerokość w pikselach ciągu wskazywanego przez lpsz.

Uwagi

Zwrócona szerokość uwzględnia bieżącą czcionkę i marginesy kolumny kontrolki, ale nie szerokość małej ikony.

Przykład

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

Pobiera prostokąt ograniczenia elementu w kontrolce widoku listy.

BOOL GetSubItemRect(
    int iItem,
    int iSubItem,
    int nArea,
    CRect& ref);

Parametry

iItem
Indeks elementu nadrzędnego subitem.

iSubItem
Jeden indeks subitem.

nArea
Określa część prostokąta ograniczenia (subitem widoku listy) do pobrania. Część (ikona, etykieta lub obie) prostokąta ograniczenia jest określona przez zastosowanie operatora bitowego OR do co najmniej jednej z następujących wartości:

  • LVIR_BOUNDS Zwraca prostokąt ograniczenia całego elementu, w tym ikonę i etykietę.
  • LVIR_ICON Zwraca prostokąt ograniczenia ikony lub małej ikony.
  • LVIR_LABEL Zwraca prostokąt ograniczenia całego elementu, w tym ikonę i etykietę. Jest to identyczne z LVIR_BOUNDS.

ref
Odwołanie do CRect obiektu, który zawiera współrzędne prostokąta ograniczenia subitemu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetSubItemRectzgodnie z opisem w zestawie Windows SDK.

CListCtrl::GetTextBkColor

Pobiera kolor tła tekstu kontrolki widoku listy.

COLORREF GetTextBkColor() const;

Wartość zwracana

Wartość 32-bitowa używana do określania koloru RGB.

Przykład

Zobacz przykład dla elementu CListCtrl::SetTextBkColor.

CListCtrl::GetTextColor

Pobiera kolor tekstu kontrolki widoku listy.

COLORREF GetTextColor() const;

Wartość zwracana

Wartość 32-bitowa używana do określania koloru RGB.

Przykład

Zobacz przykład dla elementu CListCtrl::SetTextColor.

CListCtrl::GetTileInfo

Pobiera informacje o kafelku w kontrolce widoku listy.

BOOL GetTileInfo(PLVTILEINFO plvti) const;

Parametry

plvti
Wskaźnik do LVTILEINFO struktury, która odbiera informacje o kafelku.

Wartość zwracana

Wartość zwracana nie jest używana.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETTILEINFO zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetTileViewInfo

Pobiera informacje o kontrolce widoku listy w widoku kafelka.

BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;

Parametry

ptvi
Wskaźnik do LVTILEVIEWINFO struktury, która odbiera pobrane informacje.

Wartość zwracana

Wartość zwracana nie jest używana.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETTILEVIEWINFO zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetToolTips

Pobiera kontrolkę etykietki narzędzia używa kontrolki widoku listy do wyświetlania etykietek narzędzi.

CToolTipCtrl* GetToolTips() const;

Wartość zwracana

Wskaźnik do obiektu, który ma być używany przez kontrolkę CToolTipCtrl listy. Create Jeśli funkcja składowa używa stylu LVS_NOTOOLTIPS, nie są używane etykietki narzędzi i zwracana jest wartość NULL.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu LVM_GETTOOLTIPSWin32 zgodnie z opisem w zestawie WINDOWS SDK. Implementacja GetToolTips MFC zwraca CToolTipCtrl obiekt, który jest używany przez kontrolkę listy, a nie dojście do kontrolki etykietki narzędzia.

Przykład

CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
    pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
        IDD_MYLISTCTRL);
}

CListCtrl::GetTopIndex

Pobiera indeks najbardziej widocznego elementu w widoku listy lub widoku raportu.

int GetTopIndex() const;

Wartość zwracana

Indeks najbardziej widocznego elementu.

Przykład

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

Pobiera widok kontrolki widoku listy.

DWORD GetView() const;

Wartość zwracana

Bieżący widok kontrolki widoku listy.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_GETVIEW zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::GetViewRect

Pobiera prostokąt ograniczenia wszystkich elementów w kontrolce widoku listy.

BOOL GetViewRect(LPRECT lpRect) const;

Parametry

lpRect
RECT Adres struktury.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Widok listy musi być w widoku ikony lub w małym widoku ikony.

CListCtrl::GetWorkAreas

Pobiera bieżące obszary robocze kontrolki widoku listy.

void GetWorkAreas(
    int nWorkAreas,
    LPRECT pRect) const;

Parametry

nWorkAreas
Liczba RECT struktur zawartych w tablicy pRect .

pRect
Wskaźnik do tablicy RECT struktur (lub CRect obiektów), które odbierają obszary robocze kontrolki widoku listy. Wartości w tych strukturach znajdują się we współrzędnych klienta.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_GetWorkAreaszgodnie z opisem w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CListCtrl::GetNumberOfWorkAreas.

CListCtrl::HasGroup

Określa, czy kontrolka widoku listy ma określoną grupę.

BOOL HasGroup(int iGroupId) const;

Parametry

iGroupId
Identyfikator żądanej grupy.

Wartość zwracana

Zwraca powodzenie TRUE po FALSE niepowodzeniu.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_HASGROUP zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::HitTest

Określa, który element widoku listy, jeśli istnieje, znajduje się na określonej pozycji.

int HitTest(LVHITTESTINFO* pHitTestInfo) const;

int HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

Parametry

pHitTestInfo
LVHITTESTINFO Adres struktury, która zawiera pozycję do trafienia testu i która otrzymuje informacje o wynikach testu trafienia.

pt
Punkt do przetestowania.

pFlags
Wskaźnik do liczby całkowitej, która odbiera informacje o wynikach testu. Zapoznaj się z flags wyjaśnieniem elementu członkowskiego LVHITTESTINFO struktury w zestawie Windows SDK.

Wartość zwracana

Indeks elementu na pozycji określonej przez pHitTestInfo, jeśli istnieje, lub -1 w przeciwnym razie.

Uwagi

Możesz użyć LVHT_ABOVEwartości , LVHT_BELOW, LVHT_TOLEFTi LVHT_TORIGHT elementu członkowskiego struktury flag , aby określić, czy przewinąć zawartość kontrolki widoku listy. Dwie z tych flag można połączyć, na przykład jeśli pozycja znajduje się powyżej i z lewej strony obszaru klienta.

Możesz przetestować LVHT_ONITEM wartość elementu członkowskiego struktury flag , aby określić, czy dana pozycja znajduje się nad elementem widoku listy. Ta wartość jest operacją bitową OR w elemencie LVHT_ONITEMICON, LVHT_ONITEMLABELi LVHT_ONITEMSTATEICON wartościami elementu członkowskiego struktury flag .

Przykład

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

Wstawia nową kolumnę w kontrolce widoku listy.

int InsertColumn(
    int nCol,
    const LVCOLUMN* pColumn);

int InsertColumn(
    int nCol,
    LPCTSTR lpszColumnHeading,
    int nFormat = LVCFMT_LEFT,
    int nWidth = -1,
    int nSubItem = -1);

Parametry

nCol
Indeks nowej kolumny.

pColumn
LVCOLUMN Adres struktury zawierającej atrybuty nowej kolumny.

lpszColumnHeading
Adres ciągu zawierającego nagłówek kolumny.

nFormat
Liczba całkowita określająca wyrównanie kolumny. Może to być jedna z następujących wartości: LVCFMT_LEFT, LVCFMT_RIGHTlub LVCFMT_CENTER.

nWidth
Szerokość kolumny w pikselach. Jeśli ten parametr ma wartość -1, szerokość kolumny nie jest ustawiona.

nSubItem
Indeks subitem skojarzonego z kolumną. Jeśli ten parametr ma wartość -1, żaden element podrzędny nie jest skojarzony z kolumną.

Wartość zwracana

Indeks nowej kolumny, jeśli zakończy się powodzeniem lub -1 w przeciwnym razie.

Uwagi

Kolumna po lewej stronie w kontrolce widoku listy musi być wyrównana do lewej.

Struktura LVCOLUMN zawiera atrybuty kolumny w widoku raportu. Służy również do odbierania informacji o kolumnie. Ta struktura jest opisana w zestawie Windows SDK.

CListCtrl::InsertGroup

Wstawia grupę do kontrolki widoku listy.

LRESULT InsertGroup(
    int index,
    PLVGROUP pgrp);

Parametry

index
Indeks elementu, w którym ma zostać wstawiona grupa.

pgrp
Wskaźnik do struktury zawierającej grupę LVGROUP do dodania.

Wartość zwracana

Zwraca indeks elementu, do którego została dodana grupa, lub -1, jeśli operacja nie powiodła się.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_INSERTGROUP zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::InsertGroupSorted

Wstawia określoną grupę do uporządkowanej listy grup.

LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);

Parametry

pStructInsert
Wskaźnik do struktury zawierającej grupę LVINSERTGROUPSORTED do wstawienia.

Wartość zwracana

Wartość zwracana nie jest używana.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_INSERTGROUPSORTED zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::InsertItem

Wstawia element do kontrolki widoku listy.

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

Parametry

pItem
Wskaźnik do struktury LVITEM , która określa atrybuty elementu zgodnie z opisem w zestawie Windows SDK.

nItem
Indeks elementu do wstawienia.

lpszItem
Adres ciągu zawierającego etykietę elementu lub LPSTR_TEXTCALLBACK jeśli element jest elementem wywołania zwrotnego. Aby uzyskać informacje na temat elementów wywołania zwrotnego, zobacz CListCtrl::GetCallbackMask.

nImage
Indeks obrazu elementu lub I_IMAGECALLBACK jeśli element jest elementem wywołania zwrotnego. Aby uzyskać informacje na temat elementów wywołania zwrotnego, zobacz CListCtrl::GetCallbackMask.

nMask
Parametr nMask określa, które atrybuty elementu przekazane jako parametry są prawidłowe. Może to być jedna lub więcej wartości maski opisanych w LVITEM temacie Struktura w zestawie Windows SDK. Prawidłowe wartości można połączyć z operatorem OR bitowym.

nState
Wskazuje stan elementu, obraz stanu i obraz nakładki. Aby uzyskać więcej informacji, zobacz tematy Zestaw LVITEM SDK systemu Windows Struktura i Stany elementów widoku listy, aby uzyskać listę prawidłowych flag.

nStateMask
Wskazuje, które bity członka stanu zostaną pobrane lub zmodyfikowane. Aby uzyskać więcej informacji, zobacz LVITEM Struktura w zestawie Windows SDK.

lParam
32-bitowa wartość specyficzna dla aplikacji (64-bitowa, jeśli kompilujesz dla x64) skojarzona z elementem. Jeśli ten parametr jest określony, należy ustawić nMask atrybut LVIF_PARAM.

Wartość zwracana

Indeks nowego elementu, jeśli zakończy się powodzeniem lub -1 w przeciwnym razie.

Uwagi

Wywołanie tej metody może spowodować wysłanie komunikatu LVM_INSERTITEM do okna sterowania. Skojarzona procedura obsługi komunikatów kontrolki może nie ustawić tekstu elementu w określonych warunkach (na przykład przy użyciu stylów okien, takich jak LVS_OWNERDRAW). Aby uzyskać więcej informacji na temat tych warunków, zobacz LVM_INSERTITEM w zestawie Windows SDK.

Przykład

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

Pobiera punkt wstawiania najbliżej określonego punktu.

int InsertMarkHitTest(
    LPPOINT pPoint,
    LPLVINSERTMARK plvim) const;

Parametry

pPoint
Wskaźnik do POINT struktury zawierającej współrzędne testu trafienia względem obszaru klienta kontrolki listy.

plvim
Wskaźnik do LVINSERTMARK struktury, która określa punkt wstawiania najbliżej współrzędnych zdefiniowanych przez parametr punktu.

Wartość zwracana

Punkt wstawiania najbliżej określonego punktu.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_INSERTMARKHITTEST zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::IsGroupViewEnabled

Określa, czy widok grupy jest włączony dla kontrolki widoku listy.

BOOL IsGroupViewEnabled() const;

Wartość zwracana

Zwraca wartość TRUE , jeśli widok grupy jest włączony lub FALSE w inny sposób.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_ISGROUPVIEWENABLED zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::IsItemVisible

Wskazuje, czy określony element w bieżącej kontrolce widoku listy jest widoczny.

BOOL IsItemVisible(int index) const;

Parametry

index
[in] Indeks oparty na zera elementu w bieżącej kontrolce widoku listy.

Wartość zwracana

TRUE jeśli określony element jest widoczny; w przeciwnym razie, FALSE.

Uwagi

Ta metoda wysyła LVM_ISITEMVISIBLE komunikat opisany w zestawie SDK systemu Windows.

CListCtrl::MapIDToIndex

Mapy unikatowy identyfikator elementu w bieżącej kontrolce widoku listy do indeksu.

UINT MapIDToIndex(UINT id) const;

Parametry

id
[in] Unikatowy identyfikator elementu.

Wartość zwracana

Bieżący indeks dla określonego identyfikatora.

Uwagi

Kontrolka widoku listy wewnętrznie śledzi elementy według indeksu. Może to stanowić problemy, ponieważ indeksy mogą ulec zmianie w okresie istnienia kontrolki. Kontrolka widok-listy może oznaczać element identyfikatorem podczas tworzenia elementu i można użyć tego identyfikatora, aby zagwarantować unikatowość w okresie istnienia kontrolki widoku listy.

W środowisku wielowątkowym indeks jest gwarantowany tylko w wątku, który hostuje kontrolkę widoku listy, a nie w wątkach w tle.

Ta metoda wysyła LVM_MAPIDTOINDEX komunikat opisany w zestawie SDK systemu Windows.

CListCtrl::MapIndexToID

Mapy indeks elementu w bieżącej kontrolce widoku listy do unikatowego identyfikatora.

UINT MapIndexToID(UINT index) const;

Parametry

index
[in] Indeks oparty na zerach elementu.

Wartość zwracana

Unikatowy identyfikator określonego elementu.

Uwagi

Kontrolka widoku listy wewnętrznie śledzi elementy według indeksu. Może to stanowić problemy, ponieważ indeksy mogą ulec zmianie w okresie istnienia kontrolki. Kontrolka widoku listy może oznaczać element identyfikatorem podczas tworzenia elementu. Możesz użyć tego identyfikatora, aby uzyskać dostęp do określonego elementu przez okres istnienia kontrolki widoku listy.

W środowisku wielowątkowym indeks jest gwarantowany tylko w wątku, który hostuje kontrolkę widoku listy, a nie w wątkach w tle.

Ta metoda wysyła LVM_MAPINDEXTOID komunikat opisany w zestawie SDK systemu Windows.

Przykład

Pierwszy przykład kodu definiuje zmienną , m_listCtrlktóra jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku listy. Ta zmienna jest używana w następnym przykładzie.

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

W następnym przykładzie kodu pokazano metodę MapIndexToID . We wcześniejszej sekcji tego przykładu kodu utworzyliśmy kontrolkę widoku listy, która wyświetla dwie kolumny o nazwie "ClientID" i "Grade" w widoku raportu. Poniższy przykład mapuje indeks każdego elementu widoku listy na numer identyfikacyjny, a następnie pobiera indeks dla każdego numeru identyfikacyjnego. Na koniec przykład raportuje, 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);

CListCtrl::MoveGroup

Przenosi określoną grupę do określonego indeksu zero kontrolki widoku listy.

LRESULT MoveGroup(
    int iGroupId,
    int toIndex);

Parametry

iGroupId
Identyfikator grupy do przeniesienia.

toIndex
Indeks oparty na zerach, w którym ma zostać przeniesiona grupa.

Wartość zwracana

Wartość zwracana nie jest używana.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_MOVEGROUP zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::MoveItemToGroup

Przenosi określony element do określonej grupy.

void MoveItemToGroup(
    int idItemFrom,
    int idGroupTo);

Parametry

idItemFrom
[in] Indeks elementu do przeniesienia.

idGroupTo
[in] Identyfikator grupy, do których zostanie przeniesiony element.

Uwagi

Uwaga

Ta metoda nie jest obecnie implementowana.

Ta metoda emuluje funkcjonalność komunikatu LVM_MOVEITEMTOGROUP zgodnie z opisem w zestawie Windows SDK.

CListCtrl::RedrawItems

Wymusza formant widoku listy w celu przemalowania zakresu elementów.

BOOL RedrawItems(
    int nFirst,
    int nLast);

Parametry

nFirst
Indeks pierwszego elementu do przemalowania.

nLast
Indeks ostatniego elementu do przemalowania.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Określone elementy nie zostaną przemalowane, dopóki okno widoku listy nie otrzyma komunikatu WM_PAINT. Aby natychmiast ponownie zaintować, wywołaj funkcję systemu Windows UpdateWindow po użyciu tej funkcji.

CListCtrl::RemoveAllGroups

Usuwa wszystkie grupy z kontrolki widoku listy.

void RemoveAllGroups();

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_REMOVEALLGROUPS zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::RemoveGroup

Usuwa określoną grupę z kontrolki widoku listy.

LRESULT RemoveGroup(int iGroupId);

Parametry

iGroupId
Identyfikator grupy do usunięcia.

Wartość zwracana

Zwraca indeks grupy, jeśli zakończy się powodzeniem, lub -1 w przeciwnym razie.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_REMOVEGROUP zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::Scroll

Przewija zawartość kontrolki widoku listy.

BOOL Scroll(CSize size);

Parametry

size
CSize Obiekt określający ilość przewijania poziomego i pionowego w pikselach. Element y członkowski rozmiaru jest podzielony przez wysokość w pikselach linii kontrolki widoku listy, a kontrolka jest przewijana przez wynikową liczbę wierszy.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

CListCtrl::SetBkColor

Ustawia kolor tła kontrolki widoku listy.

BOOL SetBkColor(COLORREF cr);

Parametry

cr
Kolor tła do ustawienia lub CLR_NONE wartość bez koloru tła. Kontrolki widoku listy z kolorami tła są znacznie szybsze niż te bez kolorów tła. Aby uzyskać więcej informacji, zobacz COLORREF w zestawie Windows SDK.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

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

Ustawia obraz tła kontrolki widoku listy.

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

Parametry

plvbkImage
LVBKIMAGE Adres struktury zawierającej nowe informacje o obrazie tła.

hBitmap
Dojście do mapy bitowej.

pszUrl
Ciąg NULL-terminated, który zawiera adres URL obrazu tła.

fTile
Niezerowe, jeśli obraz ma być kafelkiem w tle kontrolki widoku listy; w przeciwnym razie 0.

xOffsetPercent
Przesunięcie w pikselach lewej krawędzi obrazu z punktu początkowego kontrolki widoku listy.

yOffsetPercent
Przesunięcie w pikselach górnej krawędzi obrazu z punktu początkowego kontrolki widoku listy.

Wartość zwracana

Zwraca wartość niezerową, jeśli operacja zakończyła się powodzeniem lub zero w przeciwnym razie.

Uwagi

Uwaga

Ponieważ CListCtrl::SetBkImage korzysta z funkcji OLE COM, biblioteki OLE muszą zostać zainicjowane przed użyciem metody SetBkImage. Najlepiej zainicjować biblioteki COM, gdy aplikacja zostanie zainicjowana i niezainicjowana po zakończeniu działania aplikacji. Jest to wykonywane automatycznie w aplikacjach MFC, które korzystają z technologii ActiveX, automatyzacji OLE, łączenia/osadzania OLE lub operacji ODBC/DAO.

Przykład

Zobacz przykład dla elementu CListCtrl::GetBkImage.

CListCtrl::SetCallbackMask

Ustawia maskę wywołania zwrotnego dla kontrolki widoku listy.

BOOL SetCallbackMask(UINT nMask);

Parametry

nMask
Nowa wartość maski wywołania zwrotnego.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

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

Określa, czy obraz stanu elementu kontrolki listy jest widoczny.

BOOL SetCheck(
    int nItem,
    BOOL fCheck = TRUE);

Parametry

nItem
Indeks zerowy elementu kontrolki listy.

fCheck
Określa, czy obraz stanu elementu powinien być widoczny, czy nie. Domyślnie jest TRUE widoczny fCheck obraz stanu. Jeśli fCheck wartość to FALSE, nie jest widoczna.

Wartość zwracana

Niezerowe, jeśli element jest zaznaczony, w przeciwnym razie 0.

Przykład

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

Ustawia atrybuty kolumny widoku listy.

BOOL SetColumn(
    int nCol,
    const LVCOLUMN* pColumn);

Parametry

nCol
Indeks kolumny, której atrybuty mają być ustawione.

pColumn
LVCOLUMN Adres struktury zawierającej nowe atrybuty kolumny zgodnie z opisem w zestawie Windows SDK. Element członkowski struktury mask określa, które atrybuty kolumny mają być ustawione. mask Jeśli element członkowski określa LVCF_TEXT wartość, składowa struktury pszText jest adresem ciągu zakończonego wartością null, a składowa struktury cchTextMax jest ignorowana.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

Zobacz przykład dla elementu CListCtrl::GetColumn.

CListCtrl::SetColumnOrderArray

Ustawia kolejność kolumn (od lewej do prawej) kontrolki widoku listy.

BOOL SetColumnOrderArray(
    int iCount,
    LPINT piArray);

Parametry

piArray
Wskaźnik do buforu zawierającego wartości indeksu kolumn w kontrolce widoku listy (od lewej do prawej). Bufor musi być wystarczająco duży, aby zawierał całkowitą liczbę kolumn w kontrolce widoku listy.

iCount
Liczba kolumn w kontrolce widoku listy.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetColumnOrderArrayzgodnie z opisem w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CListCtrl::GetColumnOrderArray.

CListCtrl::SetColumnWidth

Zmienia szerokość kolumny w widoku raportu lub widoku listy.

BOOL SetColumnWidth(
    int nCol,
    int cx);

Parametry

nCol
Indeks kolumny, dla której ma zostać ustawiona szerokość. W widoku listy ten parametr musi mieć wartość 0.

cx
Nowa szerokość kolumny. Może to być wartość LVSCW_AUTOSIZE lub LVSCW_AUTOSIZE_USEHEADER, zgodnie z opisem w LVM_SETCOLUMNWIDTH zestawie Windows SDK.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

CListCtrl::SetExtendedStyle

Ustawia bieżące rozszerzone style kontrolki widoku listy.

DWORD SetExtendedStyle(DWORD dwNewStyle);

Parametry

dwNewStyle
Kombinacja stylów rozszerzonych, które mają być używane przez kontrolkę widoku listy. Opisowa lista tych stylów znajduje się w temacie Extended List View Styles (Style widoku listy rozszerzonej) w zestawie Windows SDK.

Wartość zwracana

Kombinacja poprzednich stylów rozszerzonych używanych przez kontrolkę widoku listy.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetExtendedListViewStylezgodnie z opisem w zestawie Windows SDK.

Przykład

// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
    (m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);

CListCtrl::SetGroupInfo

Ustawia informacje opisujące określoną grupę bieżącej kontrolki widoku listy.

int SetGroupInfo(
    int iGroupId,
    PLVGROUP pgrp);

Parametry

iGroupId
Identyfikator grupy, której informacje są ustawione.

pgrp
Wskaźnik do struktury zawierającej LVGROUP informacje do ustawienia. Obiekt wywołujący jest odpowiedzialny za przydzielanie tej struktury i ustawianie jej elementów członkowskich.

Wartość zwracana

Identyfikator grupy, jeśli metoda zakończyła się pomyślnie; w przeciwnym razie, -1.

Uwagi

Ta metoda wysyła LVM_SETGROUPINFO komunikat opisany w zestawie SDK systemu Windows.

CListCtrl::SetGroupMetrics

Ustawia metryki grupy kontrolki widoku listy.

void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);

Parametry

pGroupMetrics
Wskaźnik do LVGROUPMETRICS struktury zawierającej informacje o metrykach grupy do ustawienia.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETGROUPMETRICS zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetHotCursor

Ustawia kursor używany podczas śledzenia gorąca dla kontrolki widoku listy.

HCURSOR SetHotCursor(HCURSOR hc);

Parametry

hc
Uchwyt zasobu kursora używany do reprezentowania kursora.

Wartość zwracana

Dojście do poprzedniego zasobu kursora gorącego używanego przez kontrolkę widoku listy.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetHotCursorzgodnie z opisem w zestawie Windows SDK.

Gorący kursor, widoczny tylko po włączeniu zaznaczenia kursora, jest wyświetlany, gdy kursor przechodzi przez dowolny element widoku listy. Zaznaczenie kursora jest włączone przez ustawienie stylu rozszerzonego LVS_EX_TRACKSELECT .

Przykład

Zobacz przykład dla elementu CListCtrl::GetHotCursor.

CListCtrl::SetHotItem

Ustawia bieżący gorący element kontrolki widoku listy.

int SetHotItem(int iIndex);

Parametry

iIndex
Zerowy indeks elementu, który ma być ustawiony jako gorący element.

Wartość zwracana

Indeks oparty na zera wcześniej gorącym elemencie.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetHotItemzgodnie z opisem w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CListCtrl::GetHotItem.

CListCtrl::SetHoverTime

Ustawia bieżący czas aktywowania kontrolki widoku listy.

DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);

Parametry

dwHoverTime
Nowe opóźnienie (w milisekundach), które kursor myszy musi umieścić kursor na elemencie przed jego wybraniem. Jeśli wartość domyślna zostanie przekazana, czas zostanie ustawiony na domyślny czas aktywowania.

Wartość zwracana

Poprzedni czas aktywowania w milisekundach.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetHoverTimezgodnie z opisem w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CListCtrl::GetHoverTime.

CListCtrl::SetIconSpacing

Ustawia odstępy między ikonami w kontrolce widoku listy.

CSize SetIconSpacing(
    int cx,
    int cy);

CSize SetIconSpacing(CSize size);

Parametry

cx
Odległość (w pikselach) między ikonami na osi x.

cy
Odległość (w pikselach) między ikonami na osi y.

size
CSize Obiekt określający odległość (w pikselach) między ikonami na osiach x-i y.

Wartość zwracana

CSize Obiekt zawierający poprzednie wartości odstępów między ikonami.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetIconSpacingzgodnie z opisem w zestawie Windows SDK.

Przykład

// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));

CListCtrl::SetImageList

Przypisuje listę obrazów do kontrolki widoku listy.

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

Parametry

pImageList
Wskaźnik do listy obrazów do przypisania.

nImageListType
Typ listy obrazów. Może to być jedna z następujących wartości:

  • LVSIL_NORMAL Lista obrazów z dużymi ikonami.
  • LVSIL_SMALL Lista obrazów z małymi ikonami.
  • LVSIL_STATE Lista obrazów z obrazami stanu.

Wartość zwracana

Wskaźnik do poprzedniej listy obrazów.

Przykład

Zobacz przykład dla elementu CListCtrl::GetImageList.

CListCtrl::SetInfoTip

Ustawia tekst etykietki narzędzia.

BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);

Parametry

plvInfoTip
Wskaźnik do LVFSETINFOTIP struktury zawierającej informacje do ustawienia.

Wartość zwracana

Zwraca powodzenie TRUE po FALSE niepowodzeniu.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETINFOTIP zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetInsertMark

Ustawia punkt wstawiania na zdefiniowaną pozycję.

BOOL SetInsertMark(LPLVINSERTMARK plvim);

Parametry

plvim
Wskaźnik do LVINSERTMARK struktury określającej, gdzie ustawić punkt wstawiania.

Wartość zwracana

Zwraca wartość w przypadku powodzenia TRUE lub FALSE w inny sposób. FALSE jest zwracany, jeśli rozmiar w elemencie cbSize członkowskim LVINSERTMARK struktury nie jest równy rzeczywistemu rozmiarowi struktury lub gdy punkt wstawiania nie ma zastosowania w bieżącym widoku.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETINSERTMARK zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetInsertMarkColor

Ustawia kolor punktu wstawiania.

COLORREF SetInsertMarkColor(COLORREF color);

Parametry

color
Struktura COLORREF określająca kolor ustawiający punkt wstawiania.

Wartość zwracana

Zwraca strukturę zawierającą COLORREF poprzedni kolor.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETINSERTMARKCOLOR zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetItem

Ustawia niektóre lub wszystkie atrybuty elementu widoku listy.

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

Parametry

pItem
LVITEM Adres struktury zawierającej nowe atrybuty elementu zgodnie z opisem w zestawie Windows SDK. Elementy członkowskie i iSubItem struktury iItem identyfikują element lub subitem, a element członkowski struktury mask określa, które atrybuty mają być ustawione. Aby uzyskać więcej informacji na mask temat członka, zobacz uwagi.

nItem
Indeks elementu, którego atrybuty mają być ustawione.

nSubItem
Indeks subitem, którego atrybuty mają być ustawione.

nMask
Określa, które atrybuty mają być ustawione (zobacz uwagi).

lpszItem
Adres ciągu o wartości null, który określa etykietę elementu.

nImage
Indeks obrazu elementu na liście obrazów.

nState
Określa wartości stanów do zmiany (zobacz uwagi).

nStateMask
Określa, które stany mają zostać zmienione (zobacz uwagi).

lParam
32-bitowa (64-bitowa, jeśli kompilujesz dla x64) wartość specyficzną dla aplikacji do skojarzenia z elementem.

nIndent
Szerokość w pikselach wcięcia. Jeśli nIndent jest mniejsza niż minimalna szerokość zdefiniowana przez system, nowa szerokość jest ustawiona na minimalną zdefiniowaną przez system

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

LVITEMiSubItem Składowe iItem i struktury oraz nItem parametrów i nSubItem identyfikują element i subitem, którego atrybuty mają być ustawione.

Element mask członkowski LVITEM struktury i nMask parametr określają, które atrybuty elementu mają być ustawione:

  • LVIF_TEXT Element pszText członkowski lub lpszItem parametr jest adresem ciągu zakończonego wartością null; cchTextMax element członkowski jest ignorowany.
  • LVIF_STATE Element stateMask członkowski lub nStateMask parametr określa, które stany elementu mają ulec zmianie, a state element członkowski lub nState parametr zawiera wartości dla tych stanów.

Przykład

Zobacz przykład dla elementu CListCtrl::HitTest.

CListCtrl::SetItemCount

Przygotowuje kontrolkę widoku listy do dodawania dużej liczby elementów.

void SetItemCount(int nItems);

Parametry

nItems
Liczba elementów, które kontrolka ostatecznie będzie zawierać.

Uwagi

Aby ustawić liczbę elementów dla kontrolki widoku listy wirtualnej, zobacz CListCtrl::SetItemCountEx.

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetItemCountzgodnie z opisem w zestawie Windows SDK.

Przykład

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

Ustawia liczbę elementów dla wirtualnej kontrolki widoku listy.

BOOL SetItemCountEx(
    int iCount,
    DWORD dwFlags = LVSICF_NOINVALIDATEALL);

Parametry

iCount
Liczba elementów, które kontrolka ostatecznie będzie zawierać.

dwFlags
Określa zachowanie kontrolki widoku listy po zresetowaniu liczby elementów. Ta wartość może być kombinacją następujących elementów:

  • LVSICF_NOINVALIDATEALL Kontrolka widoku listy nie zostanie przemalowana, chyba że elementy, których dotyczy problem, są obecnie w widoku. Jest to wartość domyślna.
  • LVSICF_NOSCROLL Kontrolka widoku listy nie zmieni położenia przewijania po zmianie liczby elementów.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32 , ListView_SetItemCountExzgodnie z opisem w zestawie WINDOWS SDKand powinny być wywoływane tylko dla widoków listy wirtualnej.

Przykład

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

Ustawia 32-bitową (64-bitową, jeśli kompilujesz dla x64) wartość specyficzną dla aplikacji skojarzona z elementem określonym przez nItem.

BOOL SetItemData(int nItem, DWORD_PTR dwData);

Parametry

nItem
Indeks elementu listy, którego dane mają być ustawione.

dwData
Wartość 32-bitowa (64-bitowa, jeśli kompilujesz dla x64) w celu skojarzenia z elementem.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie 0.

Uwagi

Ta wartość jest elementem lParam członkowskim LVITEM struktury, zgodnie z opisem w zestawie Windows SDK.

Przykład

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

Ustawia stan elementu w bieżącej kontrolce widoku listy.

BOOL SetItemIndexState(
    PLVITEMINDEX pItemIndex,
    DWORD dwState,
    DWORD dwMask) const;

Parametry

pItemIndex
[in] Wskaźnik do LVITEMINDEX struktury, która opisuje element. Obiekt wywołujący jest odpowiedzialny za przydzielanie tej struktury i ustawianie jej elementów członkowskich.

dwState
[in] Stan ustawiania elementu, który jest bitową kombinacją stanów elementu widoku listy. Określ zero, aby zresetować lub jeden do ustawienia, stan.

dwMask
[in] Maska prawidłowych bitów stanu określonego dwState przez parametr . Określ kombinację bitową (OR) stanów elementów widoku listy.

Wartość zwracana

TRUE jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE.

Uwagi

Aby uzyskać więcej informacji na temat parametru dwState , zobacz List View Item States (Stany elementów widoku listy).

Aby uzyskać więcej informacji na temat parametru dwMask , zobacz stateMask element członkowski LVITEM struktury.

Ta metoda wysyła LVM_SETITEMINDEXSTATE komunikat opisany w zestawie SDK systemu Windows.

CListCtrl::SetItemPosition

Przenosi element do określonej pozycji w kontrolce widoku listy.

BOOL SetItemPosition(
    int nItem,
    POINT pt);

Parametry

nItem
Indeks elementu, którego pozycja ma zostać ustawiona.

pt
Struktura POINT określająca nową pozycję w widoku współrzędnych lewego górnego rogu elementu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Kontrolka musi być w widoku ikony lub małej ikony.

Jeśli kontrolka widoku listy ma LVS_AUTOARRANGE styl, widok listy jest rozmieszczany po ustawieniu pozycji elementu.

Przykład

Zobacz przykład dla elementu CListCtrl::GetItemPosition.

CListCtrl::SetItemState

Zmienia stan elementu w kontrolce widoku listy.

BOOL SetItemState(
    int nItem,
    LVITEM* pItem);

BOOL SetItemState(
    int nItem,
    UINT nState,
    UINT nMask);

Parametry

nItem
Indeks elementu, którego stan ma zostać ustawiony. Przekaż -1, aby zastosować zmianę stanu do wszystkich elementów.

pItem
Adres struktury, zgodnie z opisem LVITEM w zestawie Windows SDK. Składowa struktury stateMask określa bity stanu do zmiany, a składowa struktury state zawiera nowe wartości dla tych bitów. Inni członkowie są ignorowani.

nState
Nowe wartości bitów stanu. Aby uzyskać listę możliwych wartości, zobacz CListCtrl::GetNextItem i LVITEM członek państwa.

nMask
Maska określająca, które bity stanu mają ulec zmianie. Ta wartość odpowiada składowej LVITEM stateMask struktury.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Element "state" to wartość określająca dostępność elementu, wskazuje akcje użytkownika lub w inny sposób odzwierciedla stan elementu. Kontrolka widoku listy zmienia niektóre bity stanu, na przykład gdy użytkownik wybierze element. Aplikacja może zmienić inne bity stanu, aby wyłączyć lub ukryć element albo określić obraz nakładki lub obraz stanu.

Przykład

Zobacz przykład dla elementu CListCtrl::GetTopIndex.

CListCtrl::SetItemText

Zmienia tekst elementu widoku listy lub elementu podrzędnego.

BOOL SetItemText(
    int nItem,
    int nSubItem,
    LPCTSTR lpszText);

Parametry

nItem
Indeks elementu, którego tekst ma zostać ustawiony.

nSubItem
Indeks subitem lub zero, aby ustawić etykietę elementu.

lpszText
Wskaźnik do ciągu zawierającego nowy tekst elementu.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Ta metoda nie jest przeznaczona do użycia z kontrolkami zawierającymi LVS_OWNERDATA styl okna (w rzeczywistości spowoduje to asercji w kompilacjach debugowania). Aby uzyskać więcej informacji na temat tego stylu kontrolki listy, zobacz List-View Controls Overview (Omówienie kontrolek widoku listy).

Przykład

Zobacz przykład dla elementu CListCtrl::InsertItem.

CListCtrl::SetOutlineColor

Ustawia kolor obramowania kontrolki widoku listy, jeśli LVS_EX_BORDERSELECT ustawiono rozszerzony styl okna.

COLORREF SetOutlineColor(COLORREF color);

Parametry

color
Nowa COLORREF struktura zawierająca kolor konturu.

Wartość zwracana

Poprzednia COLORREF struktura zawierająca kolor konturu

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETOUTLINECOLOR zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetSelectedColumn

Ustawia wybraną kolumnę kontrolki widoku listy.

LRESULT SetSelectedColumn(int iCol);

Parametry

iCol
Indeks kolumny do wybrania.

Wartość zwracana

Wartość zwracana nie jest używana.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETSELECTEDCOLUMN zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetSelectionMark

Ustawia znacznik wyboru kontrolki widoku listy.

int SetSelectionMark(int iIndex);

Parametry

iIndex
Indeks oparty na zera pierwszego elementu w wielokrotnym zaznaczeniu.

Wartość zwracana

Poprzedni znacznik zaznaczenia lub -1, jeśli nie było żadnego znacznika zaznaczenia.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetSelectionMarkzgodnie z opisem w zestawie Windows SDK.

Przykład

Zobacz przykład dla elementu CListCtrl::GetSelectionMark.

CListCtrl::SetTextBkColor

Ustawia kolor tła tekstu w kontrolce widoku listy.

BOOL SetTextBkColor(COLORREF cr);

Parametry

cr
Określenie COLORREF nowego koloru tła tekstu. Aby uzyskać więcej informacji, zobacz COLORREF w zestawie Windows SDK.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

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

Ustawia kolor tekstu kontrolki widoku listy.

BOOL SetTextColor(COLORREF cr);

Parametry

cr
Określenie COLORREF nowego koloru tekstu. Aby uzyskać więcej informacji, zobacz COLORREF w zestawie Windows SDK.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Przykład

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

Ustawia informacje dotyczące kafelka kontrolki widoku listy.

BOOL SetTileInfo(PLVTILEINFO pTileInfo);

Parametry

pTileInfo
Wskaźnik do LVTILEINFO struktury zawierającej informacje do ustawienia.

Wartość zwracana

Zwraca powodzenie TRUE po FALSE niepowodzeniu.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETTILEINFO zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetTileViewInfo

Ustawia informacje używane przez kontrolkę widoku listy w widoku kafelka.

BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);

Parametry

ptvi
Wskaźnik do LVTILEVIEWINFO struktury zawierającej informacje do ustawienia.

Wartość zwracana

Zwraca powodzenie TRUE po FALSE niepowodzeniu.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETTILEVIEWINFO zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetToolTips

Ustawia kontrolkę etykietki narzędzia, która będzie używana przez kontrolkę widoku listy do wyświetlania etykietek narzędzi.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Parametry

pWndTip
Wskaźnik do CToolTipCtrl obiektu, którego będzie używać kontrolka listy.

Wartość zwracana

Wskaźnik do obiektu zawierającego CToolTipCtrl etykietkę narzędzia wcześniej używaną przez kontrolkę lub NULL jeśli wcześniej nie użyto etykietek narzędzi.

Uwagi

Ta funkcja składowa implementuje zachowanie komunikatu LVM_SETTOOLTIPSWin32 zgodnie z opisem w zestawie WINDOWS SDK.

Aby nie używać etykietek narzędzi, wskaż LVS_NOTOOLTIPS styl podczas tworzenia CListCtrl obiektu.

CListCtrl::SetView

Ustawia widok kontrolki widoku listy.

DWORD SetView(int iView);

Parametry

iView
Widok do wybrania.

Wartość zwracana

Zwraca wartość 1 w przypadku powodzenia lub -1 w przeciwnym razie. Na przykład -1 jest zwracany, jeśli widok jest nieprawidłowy.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SETVIEW zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SetWorkAreas

Ustawia obszar, w którym można wyświetlać ikony w kontrolce widoku listy.

void SetWorkAreas(
    int nWorkAreas,
    LPRECT lpRect);

Parametry

nWorkAreas
Liczba RECT struktur (lub CRect obiektów) w tablicy wskazywanej przez lpRect.

lpRect
Adres tablicy RECT struktur (lub CRect obiektów), które określają nowe obszary robocze kontrolki widoku listy. Te obszary muszą być określone we współrzędnych klienta. Jeśli ten parametr to NULL, obszar roboczy zostanie ustawiony na obszar klienta kontrolki.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SetWorkAreaszgodnie z opisem w zestawie Windows SDK.

Przykład

// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);

CListCtrl::SortGroups

Używa funkcji porównania zdefiniowanej przez aplikację do sortowania grup według identyfikatora w kontrolce widoku listy.

BOOL SortGroups(
    PFNLVGROUPCOMPARE _pfnGroupCompare,
    LPVOID _plv);

Parametry

_pfnGroupCompare
Wskaźnik do funkcji porównania grup.

_plv
Wskaźnik pustki.

Wartość zwracana

Zwraca powodzenie TRUE po FALSE niepowodzeniu.

Uwagi

Ta funkcja składowa emuluje funkcjonalność komunikatu LVM_SORTGROUPS zgodnie z opisem w zestawie WINDOWS SDK.

CListCtrl::SortItems

Sortuje elementy widoku listy przy użyciu funkcji porównania zdefiniowanej przez aplikację.

BOOL SortItems(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Parametry

pfnCompare
[in] Adres funkcji porównania zdefiniowanej przez aplikację.

Operacja sortowania wywołuje funkcję porównania za każdym razem, gdy należy określić względną kolejność dwóch elementów listy. Funkcja porównania musi być statycznym elementem członkowskim klasy lub funkcji autonomicznej, która nie jest składową żadnej klasy.

dwData
[in] Wartość zdefiniowana przez aplikację przekazywana do funkcji porównania.

Wartość zwracana

TRUE jeśli metoda zakończyła się powodzeniem; w przeciwnym razie FALSE.

Uwagi

Ta metoda zmienia indeks każdego elementu, aby odzwierciedlić nową sekwencję.

Funkcja porównania, pfnCompare, ma następującą formę:

int CALLBACK CompareFunc(LPARAM lParam1,
    LPARAM lParam2,
    LPARAM lParamSort);

Funkcja porównania musi zwrócić wartość ujemną, jeśli pierwszy element powinien poprzedzać drugi, wartość dodatnia, jeśli pierwszy element powinien być zgodny z drugim lub zero, jeśli dwa elementy są równe.

Parametr lParam1 jest wartością 32-bitową (64-bitową, jeśli kompilujesz dla x64) skojarzona z pierwszym elementem, który jest porównywany, a lParam2 parametr jest wartością skojarzona z drugim elementem. Są to wartości określone w elemencie lParam członkowskim struktury elementów LVITEM , które zostały wstawione do listy. Parametr lParamSort jest taki sam jak dwData wartość.

Ta metoda wysyła LVM_SORTITEMS komunikat opisany w zestawie SDK systemu Windows.

Przykład

Poniżej przedstawiono prostą funkcję porównania, która powoduje sortowanie elementów według ich lParam wartości.

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

Sortuje elementy bieżącej kontrolki widoku listy przy użyciu funkcji porównania zdefiniowanej przez aplikację.

BOOL SortItemsEx(
    PFNLVCOMPARE pfnCompare,
    DWORD_PTR dwData);

Parametry

pfnCompare
[in] Adres funkcji porównania zdefiniowanej przez aplikację. Operacja sortowania wywołuje funkcję porównania za każdym razem, gdy należy określić względną kolejność dwóch elementów listy. Funkcja porównania musi być statycznym elementem członkowskim klasy lub funkcji autonomicznej, która nie jest składową żadnej klasy.

dwData
[in] Wartość zdefiniowana przez aplikację przekazana do funkcji porównania.

Wartość zwracana

TRUE jeśli ta metoda zakończy się pomyślnie; w przeciwnym razie, FALSE.

Uwagi

Ta metoda zmienia indeks każdego elementu, aby odzwierciedlić nową sekwencję.

Funkcja porównania, pfnCompare, ma następującą formę:

int CALLBACK CompareFunc(LPARAM lParam1,
    LPARAM lParam2,
    LPARAM lParamSort);

Ten komunikat jest podobny do LVM_SORTITEMS, z wyjątkiem typu informacji przekazywanych do funkcji porównania. W LVM_SORTITEMSpliku lParam1 i lParam2 są wartościami elementów do porównania. W LVM_SORTITEMSEXelemencie lParam1 jest bieżącym indeksem pierwszego elementu do porównania i lParam2 jest bieżącym indeksem drugiego elementu. Możesz wysłać komunikat, LVM_GETITEMTEXT aby pobrać więcej informacji o elemencie.

Funkcja porównania musi zwrócić wartość ujemną, jeśli pierwszy element powinien poprzedzać drugi, wartość dodatnia, jeśli pierwszy element powinien być zgodny z drugim lub zero, jeśli dwa elementy są równe.

Uwaga

Podczas procesu sortowania zawartość widoku listy jest niestabilna. Jeśli funkcja wywołania zwrotnego wysyła komunikaty do kontrolki widoku listy innej niż LVM_GETITEM, wyniki są nieprzewidywalne.

Ta metoda wysyła LVM_SORTITEMSEX komunikat opisany w zestawie SDK systemu Windows.

Przykład

Pierwszy przykład kodu definiuje zmienną , m_listCtrlktóra jest używana do uzyskiwania dostępu do bieżącej kontrolki widoku listy. Ta zmienna jest używana w następnym przykładzie.

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

W następnym przykładzie kodu pokazano metodę SortItemEx . We wcześniejszej sekcji tego przykładu kodu utworzyliśmy kontrolkę widoku listy, która wyświetla dwie kolumny o nazwie "ClientID" i "Grade" w widoku raportu. Poniższy przykład kodu sortuje tabelę przy użyciu wartości w kolumnie "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

Określa, który element widoku listy, jeśli istnieje, znajduje się na danej pozycji.

int SubItemHitTest(LPLVHITTESTINFO pInfo);

Parametry

pInfo
Wskaźnik do LVHITTESTINFO struktury.

Wartość zwracana

Indeks oparty na jednym elemencie lub subitem testowany (jeśli istnieje) lub -1 w przeciwnym razie.

Uwagi

Ta funkcja składowa implementuje zachowanie makra Win32, ListView_SubItemHitTestzgodnie z opisem w zestawie Windows SDK.

Przykład

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

Wymusza formant widoku listy w celu przemalowania elementu określonego przez nItemelement .

BOOL Update(int nItem);

Parametry

nItem
Indeks elementu do zaktualizowania.

Wartość zwracana

Bezzerowe, jeśli się powiedzie; w przeciwnym razie zero.

Uwagi

Ta funkcja rozmieszcza również kontrolkę widoku listy, jeśli ma LVS_AUTOARRANGE styl.

Przykład

Zobacz przykład dla elementu CListCtrl::GetSelectedCount.

Zobacz też

Przykładowa lista ROWLIST MFC
CWnd Klasa
Wykres hierarchii
CImageList Klasa