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
Elementy członkowskie
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 |
Mapuje unikatowy identyfikator elementu w bieżącej kontrolce widoku listy do indeksu. |
CListCtrl::MapIndexToID |
Mapuje indeks elementu w bieżącej kontrolce widoku listy na unikatowy identyfikator. |
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)UsingCListCtrl
: 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: CListCtrl
Zmienianie 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
CListCtrl
kontrolek 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::FindItem
CListCtrl::InsertItem
CListCtrl::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 CListCtrl
wywoł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 CListCtrl
elementów listy i list obrazów).
Hierarchia dziedziczenia
CListCtrl
Wymagania
Nagłówek: 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_ApproximateViewRect
zgodnie 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 Create
metodę , 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 pParentWnd
klienta .
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. Na 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_GetBkImage
zgodnie 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_GetCheckState
zgodnie 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_GetColumnOrderArray
zgodnie 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_GetExtendedListViewStyle
zgodnie 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_listCtrl
któ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 iGroupId
element .
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_listCtrl
któ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_GetHeader
zgodnie 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_GetHotCursor
zgodnie 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_GetHotItem
zgodnie 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_GetHoverTime
zgodnie 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_listCtrl
któ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 nSubItem
nSubItem
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 pos
element , 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 pos
element .
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_GetNumberOfWorkAreas
zgodnie 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_GetSelectionMark
zgodnie 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 zLVIR_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_GetSubItemRect
zgodnie 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_GETTOOLTIPS
Win32 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_GetWorkAreas
zgodnie 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_ABOVE
wartości , LVHT_BELOW
, LVHT_TOLEFT
i 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_ONITEMLABEL
i 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_RIGHT
lub 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
Mapuje 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
Mapuje indeks elementu w bieżącej kontrolce widoku listy na unikatowy identyfikator.
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_listCtrl
któ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_SetColumnOrderArray
zgodnie 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_SetExtendedListViewStyle
zgodnie 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_SetHotCursor
zgodnie 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_SetHotItem
zgodnie 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_SetHoverTime
zgodnie 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_SetIconSpacing
zgodnie 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
LVITEM
iSubItem
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
ElementpszText
członkowski lublpszItem
parametr jest adresem ciągu zakończonego wartością null;cchTextMax
element członkowski jest ignorowany.LVIF_STATE
ElementstateMask
członkowski lubnStateMask
parametr określa, które stany elementu mają ulec zmianie, astate
element członkowski lubnState
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_SetItemCount
zgodnie 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_SetItemCountEx
zgodnie 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_SetSelectionMark
zgodnie 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_SETTOOLTIPS
Win32 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_SetWorkAreas
zgodnie 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_SORTITEMS
pliku lParam1
i lParam2
są wartościami elementów do porównania. W LVM_SORTITEMSEX
elemencie 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_listCtrl
któ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_SubItemHitTest
zgodnie 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 nItem
element .
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