Ein Kombinationsfeld-Steuerelement zeigt eine Liste von Strings in Dropdown-Menü Stil . Die Bereitstellung einer Möglichkeit, mehrere Optionen zu zeigen, während platzsparend vereint eine Combo-Box die Funktionalität von einem Listenfeld und einem Eingabefeld . Die Fähigkeiten des Kombinationsfeld-Steuerelement in der CComboBox Klasse der Microsoft Foundation Class Library gekapselt. Dieses Tutorial zeigt einige häufig verwendete Funktionen dieser Klasse. Things You
Microsoft Visual Studio IDE
Book on MFC , wie z. B. "Windows-Programmierung mit MFC " von Jeff Prosise
brauchen anzeigen Weitere Anweisungen
1
Starten Sie Microsoft Visual Studio. Generieren Sie ein Dialog -basierte Anwendung für dieses Projekt, indem Sie Datei> Neu > Projekte (tab) , und wählen Sie " MFC -Anwendungs-Assistent (exe) . " Type " myComboBox " unter " Name des Projekts . " Drücken Sie OK , wählen Sie " Dialog based" und klicken Sie auf Fertig stellen.
2
Erstellen einer Combo -Box und seine Eigenschaften ändern . Klicken Sie auf die Registerkarte Ressourcen auf der linken Seite des Arbeitsbereichs. Erweitern Sie den Ordner Dialog , und wählen Sie IDD_MYCOMBOBOX_DIALOG . Klicken Sie auf das Auswahlfeld Symbol aus der Toolbox auf der rechten Seite und legte es auf den Dialog . Ändern Sie die Dropdown- der Combo-Box erweitern , indem Sie auf den Pfeil nach unten ziehen und das Rechteck . Dann mit der rechten Maustaste , wählen Sie Eigenschaften , klicken Sie auf die Registerkarte Stile und unter Typ die Option Einfach . Schließen Sie die Combo Box Feld Eigenschaften .
3
Hinzufügen von Elementen zur Combo-Box . Sie können dies auf zwei Arten tun . Um sie zur Entwurfszeit hinzufügen , auf der Combo-Box mit der rechten Maustaste , wählen Sie Eigenschaften, klicken Sie auf die Registerkarte Daten , und geben Sie die Einzelteile. Um zum nächsten Element zu erhalten , drücken Sie Strg + Enter. Um sie zur Laufzeit hinzuzufügen, rufen CComboBox :: AddString ( ) zum Hinzufügen von Elementen zu Ende oder CComboBox :: InsertString ( ) zum Einfügen von Elementen in bestimmten Standort . Die Elemente sind vom Typ lpszString .
4
Ändern der Breite der Combobox dynamisch . Sie können jeden Artikel vollständig , egal wie lang es ist , dank der CComboBox :: SetDroppedWidth () Member-Funktion . Es nimmt als Parameter die Breite des Strings in Pixel.
5
andere gängige Funktionen . Wählen Sie ein Element zur Laufzeit mithilfe CComboBox :: SetCurSel (). Er akzeptiert als Parameter eine ganze Zahl index. Finden Sie den Index des ausgewählten Elements mit CComboBox :: GetCurSel (). Abrufen von Daten unter Verwendung CComboBox :: GetItemData (). Bestimmen Sie die Anzahl von Elementen durch CComboBox :: GetCount ().
6
Beseitigen Objekte eines MFC Combo-Box . Wenn der String bekannt ist, können Sie CComboBox :: FindString () , um den Index zu bestimmen und verwenden Sie dann CComboBox :: DeleteString (). CComboBox :: Clear () löscht die aktuelle Auswahl , wenn überhaupt, während CComboBox :: Cut () entfernt die aktuelle Auswahl und legt sie in die Zwischenablage.
7
Verstehen Sie die Nachricht - Karte Benachrichtigungen , dass ein Combo-Box senden. Wenn die Combobox Listenfeld geschlossen ist, zum Beispiel , wird ON_CBN_CLOSEUP gesendet. Wenn die Combo-Box seine Eingabe den Fokus verliert , weil ein Mausklick außerhalb seiner Grenzen , sendet er ON_CBN_KILLFOCUS . Es ist eine Botschaft - Karte für jeden möglichen Zustand - Änderung, die eine Combo -Box kann zu unterziehen.