img/mfc2.jpg

CComboBox


Opis

img/combo.gif

Kontrolka typu combo składa się z listy elementów oraz albo z statycznym polem tekstowym albo z polem edycyjnym. W dodatku jeśli nasza kontrolka ma wybrany styl drop-down list to użytkownik może wybrać element z listy naciskając jego pierwsze litery.

Możesz utworzyć obiekt typu CComboBox albo korzystając ze standardowego szablonu albo dodając do projektu odpowiedni kod. W obu przypadkach najpierw należy wywołać konstruktora CComboBox w celu utworzenia obiektu tej klasy. Następnie należy wywołać metodę Create w celu utworzenia standardowej kontrolki i przypisania jej do obiektu CComboBox.

Jeśli chcesz obsługiwać komunikaty wysyłane przez przycisk do jego rodzica (przeważnie jest to klasa dziedziczona po CDialog) musisz utworzyć mapę komunikatów oraz funkcje obsługujące te komunikaty. Każdy zapis w mapie komunikatów wygląda następująco:

ON_Notification(id, NazwaFunkcji), gdzie id jest identyfikatorem przycisku.

Standardowa mapa komunikatów:
  • ON_CBN_CLOSEUP
  • Rozwijalna lista zostaje zamknięta.
  • ON_CBN_DBLCLK
  • Użytkownik nacisnął podwójnie na napisie listy rozwijalnej.
  • ON_CBN_DROPDOWN
  • Lista rozwijalna ma się pokazać.
  • ON_CBN_EDITCHANGE
  • Użytkownik dokonuje zmiany tekstu w polu edycyjnym.
  • ON_CBN_ERRSPACE
  • Nie można było przydzielić odpowiedniej ilości pamięci.
  • ON_CBN_KILLFOCUS
  • Kontrolka traci ognisko.
  • ON_CBN_SELCHANGE
  • Pozycja na liście rozwijalnej zostanie zmieniona.
  • ON_CBN_SETFOCUS
  • Kontrolka otrzymuje ognisko.

    Jeśli utworzyłeś kontrolkę poprzez edytor zasobów to jest ona automatycznie usuwana z pamięci po zmknięciu okienka dialogowego.
    Natomiast jeśli utworzyłeś ją wykorzystując operator new musisz ją usunąć wywołując operator delete.

    Metody

    Metody Opis
    CComboBoxKonstruktor obiektu CComboBox
    CreateTworzy standardowe okienko Windows typu combo i kojarzy go z obiektem CComboBox
    InitStoragePrzydziela pamięć na listę, w której przechowywane są poszczególne elementy wyboru
    GetCountZwraca liczbę możliwych do wyboru elementów
    GetCurSelZwraca numer wybranego elementu, jeśli jakiś jest wybrany
    SetCurSelWybiera element z pośród znajdujących się na liście
    GetEditSelZwraca pozycję pierwszej i ostatniej litery w zaznaczonym tekście
    SetEditSelZaznacza wskazany tekst
    SetItemDataKojarzy 32-bitową wartość z wybranym elementem
    SetItemDataPtrKojarzy wskaźnik z wybranym elementem
    GetItemDataZwraca 32-bitową liczbę skojarzoną z wybranym elementem
    GetItemDataPtrZwraca wskaźnik skojarzony z wybranym elementem
    GetTopIndexZwraca indeks pierwszego widocznego na liście elementu
    SetTopIndexUstawia pierwszy widoczny na liście element
    SetHorizontalExtentUstawia szerokość (w pikselach) rozwijalnej listy, którą można przesuwać
    GetHorizontalExtentZwraca szerokość (w pikselach) rozwijalnej listy, która może być przewijana
    SetDroppedWidthUstawia minimalną szerowkość rowijalnej listy
    GetDroppedWidthPobiera minimalną szerokość rozwijalnej listy
    ClearUsuwa zaznaczony tekst
    CopyKopiuje zaznaczony tekst do schowka w formacie CF_TEXT
    CutUsuwa zaznaczony tekst i kopiuje go do schowka w formacie CF_TEXT
    PasteWkleja tekst ze schowka jeśli zpisane w nim dane są formatu CF_TEXT
    LimitTextUstala maksymalną długość wpisywanego tekstu
    SetItemHeightUstawia wysokość elementów rysowanych w rozwijalnej liście
    GetItemHeightZwraca wysokość elementów na rozijalnej liście
    GetLBTextZwraca napis zawarty na rozwijalnej liście
    GetLBTextLenZwraca długość napisu zawartego na rozwijalnej liście
    ShowDropDownPokazuje lub ukrywa rozwijalną listę
    GetDroppedControlRectZwraca rozmiar rozwijalnej listy we współrzędnych ekranu
    GetDroppedStateSprawadza czy lista jest rozwinięta
    GetLocaleZwraca lokalny identyfikator kontrolki
    SetLocaleUstawia lokanly identyfikator kontrolki
    AddStringWstawia tekst na listę elementów
    DeleteStringUsuwa tekst z listy elementów
    InsertStringWstawia tekst na listę elementów na określoną pozycję
    ResetContentUsuwa wszystkie elementy z rozwijalnej listy
    DirDodaje listę plików do listy elementów
    FindStringWyszukuje elementu rozpoczynającego się zadanym teksetm na liście elementów
    FindStringExactWyszukuje elementu pasującego do zadanego tekstu
    SelectStringWyszukuje zadanego elementu i jeśli go znajdzie to ustawia jako wybrany
    DrawItemMetoda wywoływana w celu odrysowania elementów listy
    CompareItemFunkcja porównująca dwa elementy listy, wykorzystywana podczas jej sortowania
    DeleteItemFunkcja usuwająca element z listy

    Przykłady:

    CComboBox::AddString

    Zobacz także:

    CWnd, CButton, CEdit, CListBox, CScrollBar, CStatic, CDialog

    Hierarchia

    img/hr_ccombobox.gif