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:
| Rozwijalna lista zostaje zamknięta. | |
| Użytkownik nacisnął podwójnie na napisie listy rozwijalnej. | |
| Lista rozwijalna ma się pokazać. | |
| Użytkownik dokonuje zmiany tekstu w polu edycyjnym. | |
| Nie można było przydzielić odpowiedniej ilości pamięci. | |
| Kontrolka traci ognisko. | |
| Pozycja na liście rozwijalnej zostanie zmieniona. | |
| 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 | Opis |
|---|---|
| CComboBox | Konstruktor obiektu CComboBox |
| Create | Tworzy standardowe okienko Windows typu combo i kojarzy go z obiektem CComboBox |
| InitStorage | Przydziela pamięć na listę, w której przechowywane są poszczególne elementy wyboru |
| GetCount | Zwraca liczbę możliwych do wyboru elementów |
| GetCurSel | Zwraca numer wybranego elementu, jeśli jakiś jest wybrany |
| SetCurSel | Wybiera element z pośród znajdujących się na liście |
| GetEditSel | Zwraca pozycję pierwszej i ostatniej litery w zaznaczonym tekście |
| SetEditSel | Zaznacza wskazany tekst |
| SetItemData | Kojarzy 32-bitową wartość z wybranym elementem |
| SetItemDataPtr | Kojarzy wskaźnik z wybranym elementem |
| GetItemData | Zwraca 32-bitową liczbę skojarzoną z wybranym elementem |
| GetItemDataPtr | Zwraca wskaźnik skojarzony z wybranym elementem |
| GetTopIndex | Zwraca indeks pierwszego widocznego na liście elementu |
| SetTopIndex | Ustawia pierwszy widoczny na liście element |
| SetHorizontalExtent | Ustawia szerokość (w pikselach) rozwijalnej listy, którą można przesuwać |
| GetHorizontalExtent | Zwraca szerokość (w pikselach) rozwijalnej listy, która może być przewijana |
| SetDroppedWidth | Ustawia minimalną szerowkość rowijalnej listy |
| GetDroppedWidth | Pobiera minimalną szerokość rozwijalnej listy |
| Clear | Usuwa zaznaczony tekst |
| Copy | Kopiuje zaznaczony tekst do schowka w formacie CF_TEXT |
| Cut | Usuwa zaznaczony tekst i kopiuje go do schowka w formacie CF_TEXT |
| Paste | Wkleja tekst ze schowka jeśli zpisane w nim dane są formatu CF_TEXT |
| LimitText | Ustala maksymalną długość wpisywanego tekstu |
| SetItemHeight | Ustawia wysokość elementów rysowanych w rozwijalnej liście |
| GetItemHeight | Zwraca wysokość elementów na rozijalnej liście |
| GetLBText | Zwraca napis zawarty na rozwijalnej liście |
| GetLBTextLen | Zwraca długość napisu zawartego na rozwijalnej liście |
| ShowDropDown | Pokazuje lub ukrywa rozwijalną listę |
| GetDroppedControlRect | Zwraca rozmiar rozwijalnej listy we współrzędnych ekranu |
| GetDroppedState | Sprawadza czy lista jest rozwinięta |
| GetLocale | Zwraca lokalny identyfikator kontrolki |
| SetLocale | Ustawia lokanly identyfikator kontrolki |
| AddString | Wstawia tekst na listę elementów |
| DeleteString | Usuwa tekst z listy elementów |
| InsertString | Wstawia tekst na listę elementów na określoną pozycję |
| ResetContent | Usuwa wszystkie elementy z rozwijalnej listy |
| Dir | Dodaje listę plików do listy elementów |
| FindString | Wyszukuje elementu rozpoczynającego się zadanym teksetm na liście elementów |
| FindStringExact | Wyszukuje elementu pasującego do zadanego tekstu |
| SelectString | Wyszukuje zadanego elementu i jeśli go znajdzie to ustawia jako wybrany |
| DrawItem | Metoda wywoływana w celu odrysowania elementów listy |
| CompareItem | Funkcja porównująca dwa elementy listy, wykorzystywana podczas jej sortowania |
| DeleteItem | Funkcja usuwająca element z listy |