Kontrolka służy do wyświetlania listy elementów (np. lista plików), którą użytkownik może zobaczyć i na której to może wybierać elementy.
Dla list z stylem singel-selection użytkownik może wybrać tylko jeden element z listy.
Dla list z style multiple-selection można zaznaczyć wiele elementów listy.
Kiedy użytkownik zaznacza elementy to są one podświetlane a kontrolka wysyła komunikat do rodzica.
Kontrolkę CListBox można utworzyć albo wykorzystując gotowy szablon albo dodając do projektu odpowiedni kod. W celu utworzenia kontrolki w kodzie programu, wywołaj konstruktor obiektu CListBox, a później wywołaj metodę Create w celu utworzenia standardowej listy Windows i skojarzenia jej z obiektem CListBox. Jeżeli wykorzystujesz szablon kontrolki to zadeklaruj zmienną typu CListBox a następnie wykorzystaj mechanizm DDX_Cintrol wpisując odpowiednie funkcje DoDataExchange w celu połączenia zmiennej z kontrolką. (ClassWizard wykonuje te czynności automatycznie.
Aby proces ten można było wykonać w jednym kroku to do konstruktora obiektu CListBox dopisz wywołanie metody Create.
Jeżeli chcesz samodzielnie obsługiwać komunikaty wysyłane przez kontrolkę do jej rodzica (przeważnie jest to obiekt typu ) musisz utworzyć mapę komunikatów i napisać funkcję obsługujące komunikaty. Każda zapis w mapie komunikatów wygląda następująco:
ON_Notification(id, NazwaFunkcji), gdzie id jest identyfikatorem kontrolki listy.
Standardowa mapa komunikatów:
| Użytkownik podwójnie klikną na napisie z listy. | |
| Kontrolka nie może przydzielić potrzebnej do jej funkcjonowania pamięci. | |
| Kontrolka utraciła ognisko. | |
| Aktualny wybór elementów z listy został anulowany. | |
| Nastąpiła zmiana zaznaczonych elementów. Komunikat nie jest wysyłany gdy zmiana nastąpiła na wskutek wywołania metody SetCurSel. | |
| Kontrolka otrzymała ognisko. |
| Metody | Opis |
|---|---|
| CListBox | Konstruktor obiektu CListBox. |
| Create | Tworzy standardową kontrolkę Windows i kojarzy ją z obiektem CListBox. |
| InitStorage | Przydziela pamięć na listę elementów kontrolki. |
| GetCount | Zwraca liczbę elementów na liście. |
| GetHorizontalExtent | Zwraca szerokość (w pikselach) jaka może być przewijana. |
| SetHorizontalExtent | Ustawia szerokość (w pikselach) jaka może być przewijana. |
| GetTopIndex | Zwraca indeks pierwszego widocznego elementu. |
| SetTopIndex | Ustawia pierwszy widoczny element. |
| GetItemRect | Zwraca wymiar elementu. |
| SetItemHeight | Ustawia wysokość elementu na liście. |
| GetItemHeight | Pobiera wysokość elementu z listy. |
| GetSel | Sprawdza zaznaczenie elementu. |
| GetText | Kopiuje określony element do bufora. |
| GetTextLen | Zwraca długość tesktu określonego elementu. |
| SetColumnWidth | Ustawia szerokość kolumn (dla kontrolki z wieloma kolumnami). |
| SetTabStops | Ustawia tabulatory. |
| GetLocale | Zwraca lokalny identyfikator kontrolki. |
| SetLocale | Ustawia lokalny identyfikator kontrolki. |
| GetCurSel | Zwraca zaznaczony element (dla kontrolki single-selection. |
| SetCurSel | Zaznacza wskazany element (dla kontrolki single-selection. |
| SetSel | Zaznacza bądź odznacza element (dla kontrolki multiple-selection. |
| GetCaretIndex | Zwraca indeks elementu, który posiada ognisko. |
| SetCaretIndex | Ustawia ognisko na określonym elemencie. |
| GetSelCount | Zwraca ilość elementów zaznaczonych na liście. |
| GetSelItems | Zwraca indeksy zaznaczonych elementów. |
| SelItemRange | Zaznacza lub odznacza zakres elementów. |
| AddString | Dodaje element na końcu listy. |
| DeleteString | Usuwa wskazany element. |
| InsertString | Wstawia element we wskazanym miejscu. |
| ResetContent | Usuwa wszystkie elementy z listy. |
| Dir | Dodaje do listy nazwy plików z określonego katalogu. |
| FindString | Wyszukuje pierwszego przedrostka określonego jako parametr i zwraca indeks tego elementu. |
| FindStringExact | Wyszukuje elementu w pełni zgodnego z poszukiwanym teksetm i zwraca jego indeks. |
| SelectString | Wyszukuje element na podstawie zadanego tekstu i zaznacza go. |
| DrawItem | Wywoływana przez aplikację służy do rysowania elementów listy. |
| CompareItem | Wywoływana przez aplikację służy do sortowania elementów listy. |