img/mfc2.jpg

CListBox


Opis

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.

img/listbox_single.gif

Dla list z style multiple-selection można zaznaczyć wiele elementów listy.

img/listbox_multiple.gif

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:
  • ON_LBN_DBLCLK
  • Użytkownik podwójnie klikną na napisie z listy.
  • ON_LBN_ERRSPACE
  • Kontrolka nie może przydzielić potrzebnej do jej funkcjonowania pamięci.
  • ON_LBN_KILLFOCUS
  • Kontrolka utraciła ognisko.
  • ON_LBN_SELCANCEL
  • Aktualny wybór elementów z listy został anulowany.
  • ON_LBN_SELCHANGE
  • Nastąpiła zmiana zaznaczonych elementów. Komunikat nie jest wysyłany gdy zmiana nastąpiła na wskutek wywołania metody SetCurSel.
  • ON_LBN_SETFOCUS
  • Kontrolka otrzymała ognisko.

    Metody

    Metody Opis
    CListBoxKonstruktor obiektu CListBox.
    CreateTworzy standardową kontrolkę Windows i kojarzy ją z obiektem CListBox.
    InitStoragePrzydziela pamięć na listę elementów kontrolki.
    GetCountZwraca liczbę elementów na liście.
    GetHorizontalExtentZwraca szerokość (w pikselach) jaka może być przewijana.
    SetHorizontalExtentUstawia szerokość (w pikselach) jaka może być przewijana.
    GetTopIndexZwraca indeks pierwszego widocznego elementu.
    SetTopIndexUstawia pierwszy widoczny element.
    GetItemRectZwraca wymiar elementu.
    SetItemHeightUstawia wysokość elementu na liście.
    GetItemHeightPobiera wysokość elementu z listy.
    GetSelSprawdza zaznaczenie elementu.
    GetTextKopiuje określony element do bufora.
    GetTextLenZwraca długość tesktu określonego elementu.
    SetColumnWidthUstawia szerokość kolumn (dla kontrolki z wieloma kolumnami).
    SetTabStopsUstawia tabulatory.
    GetLocaleZwraca lokalny identyfikator kontrolki.
    SetLocaleUstawia lokalny identyfikator kontrolki.
    GetCurSelZwraca zaznaczony element (dla kontrolki single-selection.
    SetCurSelZaznacza wskazany element (dla kontrolki single-selection.
    SetSelZaznacza bądź odznacza element (dla kontrolki multiple-selection.
    GetCaretIndexZwraca indeks elementu, który posiada ognisko.
    SetCaretIndexUstawia ognisko na określonym elemencie.
    GetSelCountZwraca ilość elementów zaznaczonych na liście.
    GetSelItemsZwraca indeksy zaznaczonych elementów.
    SelItemRangeZaznacza lub odznacza zakres elementów.
    AddStringDodaje element na końcu listy.
    DeleteStringUsuwa wskazany element.
    InsertStringWstawia element we wskazanym miejscu.
    ResetContentUsuwa wszystkie elementy z listy.
    DirDodaje do listy nazwy plików z określonego katalogu.
    FindStringWyszukuje pierwszego przedrostka określonego jako parametr i zwraca indeks tego elementu.
    FindStringExactWyszukuje elementu w pełni zgodnego z poszukiwanym teksetm i zwraca jego indeks.
    SelectStringWyszukuje element na podstawie zadanego tekstu i zaznacza go.
    DrawItemWywoływana przez aplikację służy do rysowania elementów listy.
    CompareItemWywoływana przez aplikację służy do sortowania elementów listy.

    Przykłady:

    CListBox::AddString, Pobranie zaznaczonych pozycji

    Zobacz także:

    CWnd, CButton, CComboBox, CScrollBar, CStatic

    Hierarchia

    img/hr_clistbox.gif