Udostępnij za pośrednictwem


Klasa CComboBox

Udostępnia funkcje Windows pola kombi.

class CComboBox : public CWnd

Członkowie

Publiczne konstruktory

Nazwa

Opis

CComboBox::CComboBox

Konstrukcje CComboBox obiektu.

Metody publiczne

Nazwa

Opis

CComboBox::AddString

Dodaje ciąg na końcu listy w polu listy, pola kombi lub posortowanych pozycji dla pola listy z CBS_SORT styl.

CComboBox::Clear

Usuwa (czyści) bieżącego zaznaczenia w formancie edycyjnym.

CComboBox::CompareItem

Wywołana przez ramy do określenia położenia nowego elementu listy w polu kombi rysowania przez właściciela sortowane.

CComboBox::Copy

Kopiuje bieżące zaznaczenie, ewentualnie do Schowka w CF_TEXT format.

CComboBox::Create

Tworzy pole kombi i dołącza go do CComboBox obiektu.

CComboBox::Cut

Usuwa (kawałki) bieżącego zaznaczenia, jeśli w Edycja kontroli i kopiuje usunięty tekst do Schowka w CF_TEXT format.

CComboBox::DeleteItem

Wywołana w ramach po usunięciu elementu listy w polu kombi rysowania przez właściciela.

CComboBox::DeleteString

Usuwa ciąg w polu listy pola kombi.

CComboBox::Dir

Dodaje listę nazw plików do pola listy, pola kombi.

CComboBox::DrawItem

Wywołana przez ramy podczas visual aspekt zmiany pole kombi rysowania przez właściciela.

CComboBox::FindString

Wyszukuje pierwszy ciąg, który zawiera określony prefiks w polu listy pola kombi.

CComboBox::FindStringExact

Odnajduje pierwszy polu listy ciąg (w polu kombi) odpowiadający określony ciąg.

CComboBox::GetComboBoxInfo

Pobiera informacje o CComboBox obiektu.

CComboBox::GetCount

Pobiera liczbę elementów w polu listy pola kombi.

CComboBox::GetCueBanner

Pobiera tekst sygnalizacji, który jest wyświetlany dla formantu pola kombi.

CComboBox::GetCurSel

Pobiera indeks aktualnie zaznaczonego elementu w polu listy pola kombi.

CComboBox::GetDroppedControlRect

Pobiera pola widoczne (opuszczone w dół) listy rozwijanej kombi współrzędne ekranu.

CComboBox::GetDroppedState

Określa, czy pole listy rozwijanej kombi jest widoczne (opuszczone w dół).

CComboBox::GetDroppedWidth

Pobiera minimalna dozwolona szerokość w polu listy rozwijanej części pola kombi.

CComboBox::GetEditSel

Zwraca datę początkową i końcową pozycji znaku bieżącego zaznaczenia w formancie edycyjnym pola kombi.

CComboBox::GetExtendedUI

Określa, czy pole kombi ma domyślny interfejs użytkownika lub rozszerzony interfejs.

CComboBox::GetHorizontalExtent

Zwraca szerokość w pikselach, że część pola listy pola kombi może być przewijane poziomo.

CComboBox::GetItemData

Pobiera skojarzone z elementem określonego pola kombi wartość dostarczonych aplikacji 32-bitowych.

CComboBox::GetItemDataPtr

Pobiera wskaźnik 32-bitowe dostarczone aplikacji skojarzonego z elementem określonego pola kombi.

CComboBox::GetItemHeight

Pobiera wysokość elementów listy w polu kombi.

CComboBox::GetLBText

Pobiera ciąg w polu listy pola kombi.

CComboBox::GetLBTextLen

Pobiera długość ciągu w polu listy pola kombi.

CComboBox::GetLocale

Pobiera identyfikator ustawień regionalnych dla pola kombi.

CComboBox::GetMinVisible

Pobiera minimalna liczba widocznych elementów na liście rozwijanej bieżącego pola kombi.

CComboBox::GetTopIndex

Zwraca indeks pierwszego elementu widoczny w polu listy pola kombi.

CComboBox::InitStorage

Preallocates bloków pamięci dla elementów i ciągi znaków w polu listy pola kombi.

CComboBox::InsertString

Wstawia ciąg znaków w polu listy pola kombi.

CComboBox::LimitText

Ogranicza długość tekstu, który użytkownik może wprowadzić w polu edycyjnym pola kombi.

CComboBox::MeasureItem

Wywołana przez RAM, aby określić wymiary pole kombi, podczas tworzenia pola kombi rysowania przez właściciela.

CComboBox::Paste

Wstawia dane ze Schowka do edycyjnym w bieżącej pozycji kursora.Dodaje się dane, tylko Jeśli Schowek zawiera dane w CF_TEXT format.

CComboBox::ResetContent

Usuwa wszystkie elementy z listy pole i edytować formant pola kombi.

CComboBox::SelectString

Wyszukuje ciąg w polu listy pola kombi i jeśli zostanie znaleziony ciąg, wybierze ciąg znaków w polu listy i kopiuje ciąg do formantu edycyjnego.

CComboBox::SetCueBanner

Ustawia tekst sygnalizacji, który jest wyświetlany w formancie pola kombi.

CComboBox::SetCurSel

Wybiera ciąg w polu listy pola kombi.

CComboBox::SetDroppedWidth

Ustawia minimalna dozwolona szerokość w polu listy rozwijanej części pola kombi.

CComboBox::SetEditSel

Wybiera znaków w formancie edycyjnym pola kombi.

CComboBox::SetExtendedUI

Zaznacza domyślny interfejs użytkownika lub rozszerzony interfejs dla pola kombi, który ma CBS_DROPDOWN lub CBS_DROPDOWNLIST styl.

CComboBox::SetHorizontalExtent

Ustawia szerokość w pikselach, że część pola listy pola kombi może być przewijane poziomo.

CComboBox::SetItemData

Ustawia wartość 32-bitowe skojarzone z określonego elementu w polu kombi.

CComboBox::SetItemDataPtr

Ustawia wskaźnik 32-bitowe, skojarzone z określonego elementu w polu kombi.

CComboBox::SetItemHeight

Ustawia wysokość elementów listy w polu kombi lub wysokość formant edycji (lub tekst statyczny) częoci pola kombi.

CComboBox::SetLocale

Ustawia identyfikator ustawień regionalnych dla pola kombi.

CComboBox::SetMinVisibleItems

Ustawia minimalną liczbę pozycji widocznych na liście rozwijanej bieżącego pola kombi.

CComboBox::SetTopIndex

Informuje część pola listy pola kombi, aby wyświetlić element z indeksem określonego u góry.

CComboBox::ShowDropDown

Pokazuje lub ukrywa pola listy, pola kombi, który ma CBS_DROPDOWN lub CBS_DROPDOWNLIST styl.

Uwagi

Pole kombi składa się z pola listy, połączone z statyczne lub formancie edycyjnym.Część formantu pola listy mogą być wyświetlane przez cały czas lub mogą tylko rozwijane po wybraniu strzałki rozwijania obok formantu.

Aktualnie zaznaczonego elementu (jeśli są) w polu listy jest wyświetlany w statycznego lub formantu edycyjnego.Ponadto jeśli pole kombi ma styl listy rozwijanej, użytkownik może wpisać znak początkowej jeden z elementów na liście i pole listy, jeśli jest widoczny, wyróżni następny element w tym znakiem początkowej.

W poniższej tabeli porównano trzy pola kombi Style.

Styl

Gdy pole listy jest widoczna?

Statyczne lub edycji formantu?

Proste

Zawsze

Edycja

Drop-down

Po upuszczeniu w dół

Edycja

Listy rozwijanej

Po upuszczeniu w dół

Statyczne

Można utworzyć CComboBox obiekt z szablonu okno dialogowe lub bezpośrednio w kodzie.W obu przypadkach pierwsze wywołanie konstruktora CComboBox do konstruowania CComboBox obiektu; następnie wywołać Tworzenie Członkowskich funkcji do tworzenia formantu i dołączyć go do CComboBox obiektu.

Jeśli chcesz obsłużyć wysłane przez pole kombi nadrzędnego wiadomości powiadomień systemu Windows (zazwyczaj pochodną klasy CDialog), dodać funkcję Członkowskie wejścia i obsługi wiadomości wiadomości mapę do klasy nadrzędnej dla każdej wiadomości.

Każdy wpis mapowania wiadomości ma następującą postać:

ON_Notification(id,memberFxn)

gdy id Określa identyfikator okna podrzędnego formant pola kombi wysłanie powiadomienia i memberFxn jest nazwą funkcji Członkowskich nadrzędnej do obsługi powiadamiania zostały zapisane.

Prototyp nadrzędnego jest następujący:

afx_msgvoidmemberFxn**();**

Nie można przewidzieć, kolejność, w której niektóre powiadomienia będą wysyłane.W szczególności CBN_SELCHANGE powiadomienie może wystąpić przed lub po CBN_CLOSEUP powiadomienia.

Potencjalne wpisy mapy wiadomości są następujące:

  • ON_CBN_CLOSEUP (Windows 3.1 i nowsze). Pole listy, pola kombi została zamknięta.To komunikat z powiadomieniem nie jest wysyłana, pola kombi, który ma CBS_SIMPLE styl.

  • ON_CBN_DBLCLK użytkownik kliknie dwukrotnie ciąg w polu listy pola kombi.Komunikat z powiadomieniem to jest wysyłane tylko dla pola kombi z CBS_SIMPLE styl.Dla pola kombi z CBS_DROPDOWN lub CBS_DROPDOWNLIST styl, dwukrotne nie może wystąpić, ponieważ jednym kliknięciem ukrywa pola listy.

  • ON_CBN_DROPDOWN ma rozwijane pole listy, pola kombi (widoczny).Komunikat z powiadomieniem ten może wystąpić tylko dla pola kombi z CBS_DROPDOWN lub CBS_DROPDOWNLIST styl.

  • ON_CBN_EDITCHANGE użytkownik podjął działania, które mogą mieć zmieniony tekst w formancie edycyjnym częoci pola kombi.W odróżnieniu od CBN_EDITUPDATE wiadomości, wiadomość jest wysyłana po ekranie aktualizacji systemu Windows.Nie jest wysyłana, jeśli pole kombi ma CBS_DROPDOWNLIST styl.

  • ON_CBN_EDITUPDATE ma wyświetlać tekst zmienionych części formancie edycyjnym pola kombi.Komunikat z powiadomieniem to jest wysyłany po kontroli został sformatowany tekst, ale przed wyświetleniem tekstu.Nie jest wysyłana, jeśli pole kombi ma CBS_DROPDOWNLIST styl.

  • ON_CBN_ERRSPACE polu kombi nie może przydzielić wystarczającej ilości pamięci do spełnienia określonego żądania.

  • ON_CBN_SELENDCANCEL (Windows 3.1 i nowsze). Wskazuje, że należy anulować wybór użytkownika.Użytkownik kliknie element, a następnie kliknie innego okna lub formantu, aby ukryć pola listy, pola kombi.Komunikat z powiadomieniem to jest wysyłane przed CBN_CLOSEUP komunikat z powiadomieniem, aby wskazać, wybór użytkownika powinno być zignorowane.CBN_SELENDCANCEL lub CBN_SELENDOK komunikat z powiadomieniem jest wysyłane nawet jeśli CBN_CLOSEUP komunikat z powiadomieniem nie jest wysyłana (jak w przypadku pole kombi z CBS_SIMPLE styl).

  • ON_CBN_SELENDOK użytkownik wybierze element i następnie naciśnie klawisz ENTER lub kliknie klawisza Strzałka w dół, aby ukryć pola listy, pola kombi.Komunikat z powiadomieniem to jest wysyłane przed CBN_CLOSEUP komunikat informujący, że wybór użytkownika należy uznać za ważny.CBN_SELENDCANCEL lub CBN_SELENDOK komunikat z powiadomieniem jest wysyłane nawet jeśli CBN_CLOSEUP komunikat z powiadomieniem nie jest wysyłana (jak w przypadku pole kombi z CBS_SIMPLE styl).

  • ON_CBN_KILLFOCUS polu kombi traci fokus.

  • ON_CBN_SELCHANGE zaznaczenie w polu listy pola kombi ma zostać zmieniony w wyniku użytkownika, klikając w polu listy lub zmiany zaznaczenia za pomocą klawiszy strzałek.Podczas przetwarzania tej wiadomości, tekst w formancie edycyjnym pola kombi mogą być pobierane tylko za pośrednictwem GetLBText lub innej podobnej funkcji.GetWindowTextnie można używać.

  • ON_CBN_SETFOCUS polu kombi otrzymuje fokus.

Jeśli tworzysz CComboBox obiektu w oknie dialogowym (poprzez okno dialogowe zasób), CComboBox obiekt jest niszczony automatycznie, gdy użytkownik zamyka okno dialogowe.

Jeśli osadzisz CComboBox obiektu obiekt w innym oknie, nie trzeba go zniszczyć.Jeśli tworzysz CComboBox obiektów na stosie, jest niszczony.Jeśli tworzysz CComboBox obiektu na stercie przy użyciu nowych funkcji, należy wywołać usunąć na obiekt, aby go zniszczyć, kiedy niszczony jest pole kombi Windows.

Uwaga , jeśli chcesz obsługiwać WM_KEYDOWN i WM_CHAR wiadomości, trzeba podklasy pola kombi Edycja i formanty pole listy, czerpią klas z CEdit i CListBox, i dodać obsługi tych wiadomości do klas pochodnych.Aby uzyskać więcej informacji, zobacz https://support.microsoft.com/default.aspx?scid=kb;en-us;Q174667 i CWnd::SubclassWindow.

Hierarchii dziedziczenia

CObject

CCmdTarget

CWnd

CComboBox

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWnd

Diagram hierarchii

Klasa CWnd

Klasa CButton

Klasa CEdit

Klasa CListBox

Klasa CScrollBar

Klasa CStatic

Klasa CDialog

Koncepcje

Próbki MFC CTRLBARS