MFC: Comboboxen |
Für die Combobox gibt es in der MFC eine eigene Klasse CComboBox. Ein Dialogelement wie die Combobox steht nicht allein, sondern befindet sich immer in einem Fenster oder einer Dialogbox. Aus diesem Grund wird sie normalerweise als Member eines Fensterobjektes angelegt.
CComboBox m_StatusBox; |
Bearbeitet wird die Combobox mit dem Memberfunktionen des Objektes. Ganz typisch sind hier InsertString und SetCurSel, die in der API als Nachricht den Dialogelementen zugesandt werden. Die unter der API notwendigen Identifizierungswerte wie HWND, HINSTANCE oder Ressource-ID werden hier nicht in den Parametern benötigt, da sie vom Objekt gehalten werden.
CRect rect; ... if (!m_StatusBox.Create(WS_CHILD|CBS_DROPDOWNLIST|WS_VISIBLE |CBS_AUTOHSCROLL|WS_VSCROLL|CBS_HASSTRINGS, rect, this, IDC_STATUSBOX)) return false; m_StatusBox.InsertString(0, "Intakt"); m_StatusBox.InsertString(1, "Defekt"); m_StatusBox.InsertString(2, "Geklaut"); m_StatusBox.SetCurSel(0); |
Hier im Beispiel das Selektieren eines anderen Eintrages.
void OnSelchangeStatusBox(); DECLARE_MESSAGE_MAP() } // class-declaration BEGIN_MESSAGE_MAP(TSpareBar, CToolBar) ... ON_CBN_SELCHANGE(IDC_STATUSBOX, OnSelchangeStatusBox) ... END_MESSAGE_MAP() void TSpareBar::OnSelchangeStatusBox() { |
Homepage | (C) Copyright 2000 Arnold Willemer |