CComboBox-Klasse
Stellt die Funktionalität eines Windows-Kombinationsfelds bereit.
class CComboBox : public CWnd
Mitglieder
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein CComboBox-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Fügt eine Zeichenfolge dem Ende der Liste im Listenfeld eines Kombinationsfelds oder in der sortierten Position für Listenfelder mit dem CBS_SORT Format hinzu. |
|
Löscht die (Leerzeichen) die aktuelle Auswahl ggf. im Bearbeitungssteuerelement. |
|
Aufgerufen vom Framework, um die relative Position eines neuen Listenelements in einem sortierten Ownerdrawnkombinationsfeld zu bestimmen. |
|
Kopiert die aktuelle Auswahl ggf. auf die Zwischenablage in CF_TEXT Format. |
|
Stellt das Kombinationsfeld erstellt und fügt es an den CComboBox-Objekt. |
|
Löscht (Schnitte) die aktuelle Auswahl ggf. im Bearbeitungssteuerelement sowie in den Kopien der gelöschte Text in die Zwischenablage in CF_TEXT Format. |
|
Aufgerufen vom Framework ausgelöst, wenn ein Listenelement von einem Ownerdrawnkombinationsfeld gelöscht wird. |
|
Löscht eine Zeichenfolge im Listenfeld eines Kombinationsfelds. |
|
Fügt eine Liste von Dateinamen dem Listenfeld eines Kombinationsfelds hinzu. |
|
Aufgerufen vom Framework ausgelöst, wenn ein visueller Aspekt eines Ownerdrawnkombinationsfelds ändert. |
|
Sucht die erste Zeichenfolge, die das angegebene Präfix im Listenfeld eines Kombinationsfelds enthält. |
|
Sucht die erste Listenfeldzeichenfolge (in einem Kombinationsfeld) diese entspricht die angegebene Zeichenfolge. |
|
Ruft Informationen zum CComboBox-Objekt ab. |
|
Ruft die Anzahl der Elemente im Listenfeld eines Kombinationsfelds ab. |
|
Ruft den Hinweistext ab, der für ein Kombinationsfeld-Steuerelement angezeigt wird. |
|
Ruft den Index des aktuell ausgewählten Elements ggf. im Listenfeld eines Kombinationsfelds ab. |
|
Ruft die Bildschirmkoordinaten des sichtbaren (unten abgelegt) eines Listenfelds Dropdown-Kombinationsfelds ab. |
|
Bestimmt, ob das Listenfeld eines Dropdown-Kombinationsfelds sichtbar ist (unten) abgelegt. |
|
Ruft die minimale zulässigen Breite für den Dropdown-Listenfeld-Teil eines Kombinationsfelds ab. |
|
Ruft die beginnenden und Endzeichenpositionen der aktuellen Auswahl im Bearbeitungssteuerelement eines Kombinationsfelds ab. |
|
Bestimmt, ob ein Kombinationsfeld die Standardbenutzeroberfläche oder die erweiterte Benutzeroberfläche. |
|
Gibt die Breite in Pixel zurück, die der Listenfeldbereich des Kombinationsfelds horizontalen Bildlauf durchgeführt werden kann. |
|
Ruft den von der Anwendung bereitgestellten 32-Bit-Wert ab, der mit dem angegebenen Kombinationsfeldelement zugeordnet ist. |
|
Ruft den von der Anwendung bereitgestellten 32-Bit-Zeiger ab, der mit dem angegebenen Kombinationsfeldelement zugeordnet ist. |
|
Ruft die Höhe Listenelemente in einem Kombinationsfeld ab. |
|
Ruft eine Zeichenfolge im Listenfeld eines Kombinationsfelds ab. |
|
Ruft die Länge einer Zeichenfolge im Listenfeld eines Kombinationsfelds ab. |
|
Ruft den Gebietsschemabezeichner für ein Kombinationsfeld ab. |
|
Ruft die Mindestanzahl der sichtbaren Elemente in der Dropdownliste des aktuellen Kombinationsfelds ab. |
|
Gibt den Index des ersten Elements sichtbaren im Listenfeldbereich des Kombinationsfelds zurück. |
|
Teilt Speicherblöcke für Elemente und Zeichenfolgen im Listenfeldbereich des Kombinationsfelds auf. |
|
Fügt eine Zeichenfolge in das Listenfeld eines Kombinationsfelds ein. |
|
Beschränkt die Länge des Texts ein, den der Benutzer in das Bearbeitungssteuerelement eines Kombinationsfelds eingeben kann. |
|
Aufgerufen durch das Framework, um Kombinationsfelddimensionen zu bestimmen, ob ein Ownerdrawnkombinationsfeld erstellt wird. |
|
Fügt die Daten aus der Zwischenablage in das Bearbeitungssteuerelement in der aktuellen Cursorposition ein. Daten eingefügt werden, wenn die Zwischenablage Daten in CF_TEXT Format enthält. |
|
Entfernt alle Elemente aus dem Listenfeld und vom Bearbeitungssteuerelement eines Kombinationsfelds. |
|
Sucht eine Zeichenfolge im Listenfeld eines Kombinationsfelds und, wenn die Zeichenfolge gefunden wird, wählt die Zeichenfolge im Listenfeld und kopiert die Zeichenfolge an den Bearbeitungssteuerelement. |
|
Legt den Hinweistext fest, der für ein Kombinationsfeld-Steuerelement angezeigt wird. |
|
Wählt eine Zeichenfolge im Listenfeld eines Kombinationsfelds aus. |
|
Legt die minimale zulässigen Breite für den Dropdown-Listenfeld-Teil eines Kombinationsfelds fest. |
|
Wählt Zeichen im Bearbeitungssteuerelement eines Kombinationsfelds aus. |
|
Wählt entweder die Standardbenutzeroberfläche oder die erweiterte Benutzeroberfläche für ein Kombinationsfeld aus, das das CBS_DROPDOWN oder CBS_DROPDOWNLIST Format hat. |
|
Gibt die Breite in Pixel fest, die der Listenfeldbereich des Kombinationsfelds horizontalen Bildlauf durchgeführt werden kann. |
|
Legt den 32-Bit-Wert fest, der mit dem angegebenen Element in einem Kombinationsfeld zugeordnet ist. |
|
Legt den 32-Bit-Zeiger fest, der mit dem angegebenen Element in einem Kombinationsfeld zugeordnet ist. |
|
Gibt die Höhe Listenelemente in einem Kombinationsfeld oder die Höhe des Teils des Edit-Steuerelements (oder statischen Text) eines Kombinationsfelds fest. |
|
Legt den Gebietsschemabezeichner für ein Kombinationsfeld fest. |
|
Legt die Mindestanzahl der sichtbaren Elemente in der Dropdownliste des aktuellen Kombinationsfelds fest. |
|
Weist den Listenfeldbereich des Kombinationsfelds mit, um das Element mit dem angegebenen Index zu anzuzeigen. |
|
Zeigt an oder blendet das Listenfeld eines Kombinationsfelds aus, das das CBS_DROPDOWN oder CBS_DROPDOWNLIST Format hat. |
Hinweise
Ein Kombinationsfeld besteht aus einem Listenfeld, das entweder mit einem statischen Steuerelement oder Bearbeitungssteuerelement kombiniert wird. Der Listenfeldbereich des Steuerelements wird möglicherweise angezeigt jederzeit oder legt möglicherweise nur unten ab, wenn der Benutzer den Dropdownpfeil angezeigt.
Das derzeit ausgewählte Element (falls vorhanden) im Listenfeld wird in dem statischen oder im Bearbeitungssteuerelement angezeigt. Wenn das Kombinationsfeld das Dropdownlistenformat hat, kann der Benutzer das erste Zeichen eines der Elemente in der Liste eingeben, und das Listenfeld, wenn sichtbar, hebt den nächsten Element mit diesem ersten Zeichen hervor.
In der folgenden Tabelle wird das Kombinationsfeld drei Stile.
Format |
Wann wird Listenfeld sichtbar? |
Statisch oder Bearbeitungssteuerelement? |
---|---|---|
Einfach |
Immer |
Edit |
Dropdownlisten |
Wenn Sie unten abgelegt werden |
Edit |
Dropdownliste |
Wenn Sie unten abgelegt werden |
Static |
Sie können ein CComboBox-Objekt entweder einer Dialogfeldvorlage oder direkt im Code erstellen. In beiden Fällen zunächst der Konstruktor CComboBox, um CComboBox des Objekts zu erstellen; Rufen Sie dann die Erstellen Sie-Memberfunktion auf, um das Steuerelement zu erstellen und auf CComboBox-Objekt anzufügen.
Wenn Sie Windows-Benachrichtigungsmeldungen bearbeiten möchten, die von einem Kombinationsfeld zu seinem übergeordneten Element gesendet werden (normalerweise eine Klasse wird von abgeleitet CDialog), fügen Sie eine Meldungszuordnungseintrags- und Meldungshandlermemberfunktion der übergeordneten Klasse für jede Meldung hinzu.
Jeder Eintrag in der Meldungszuordnung weist folgende Form auf:
ON_ Benachrichtigung (id,memberFxn)
wobei id die ID des untergeordneten Fensters des sendenden Kombinationsfeldsteuerelements angibt, ist die Benachrichtigungen und memberFxn der Name der übergeordneten Memberfunktion, die Sie geschrieben haben, um die Benachrichtigung zu bearbeiten.
Der Funktionsprototyp des übergeordneten Elements ist, wie folgt:
afx_msgvoidmemberFxn**(**);
Die Reihenfolge, in der bestimmte Benachrichtigungen gesendet werden, kann nicht vorhergesagt werden. Insbesondere wird eine Benachrichtigung CBN_SELCHANGE möglicherweise entweder vor oder nach einer CBN_CLOSEUP Benachrichtigung auf.
Mögliche Meldungszuordnungseinträge sind die folgenden:
ON_CBN_CLOSEUP (Windows 3.1 und höher). Im Listenfeld eines Kombinationsfelds geschlossen hat. Diese Benachrichtigung wird nicht für ein Kombinationsfeld gesendet, das das CBS_SIMPLE Format hat.
ON_CBN_DBLCLK der Benutzer doppelklickt auf eine Zeichenfolge im Listenfeld eines Kombinationsfelds. Diese Benachrichtigung wird nur für ein Kombinationsfeld mit dem CBS_SIMPLE Format gesendet. Ein Kombinationsfeld mit dem CBS_DROPDOWN oder CBS_DROPDOWNLIST Format, kann ein Doppelklick nicht auftreten, da ein einzelnen Mausklick das Listenfeld ausblendet.
ON_CBN_DROPDOWN das Listenfeld eines Kombinationsfelds ist im Begriff, unten abzulegen (sind sichtbar gemacht Sie). Diese Benachrichtigung kann nur für ein Kombinationsfeld mit dem CBS_DROPDOWN oder CBS_DROPDOWNLIST Format auftreten.
ON_CBN_EDITCHANGE hat der Benutzer Aktionen ausgeführt, die den Text im Edit-Steuerelement-Teil eines Kombinationsfelds geändert. Im Gegensatz zur CBN_EDITUPDATE Meldung wird diese Meldung gesendet, nachdem Windows den Bildschirm aktualisiert. Es wird nicht gesendet, wenn das Kombinationsfeld CBS_DROPDOWNLIST hat das Format.
ON_CBN_EDITUPDATE der Edit-Steuerelement-Teil eines Kombinationsfelds ist ungefähr zur Anzeige geändertem Text. Diese Benachrichtigung gesendet wird, nachdem das Steuerelement den Text formatiert hat, aber bevor der Text anzeigt. Es wird nicht gesendet, wenn das Kombinationsfeld CBS_DROPDOWNLIST hat das Format.
ON_CBN_ERRSPACE das Kombinationsfeld kann nicht genügend Arbeitsspeicher zuordnen, um eine bestimmte Anforderung zu erfüllen.
ON_CBN_SELENDCANCEL (Windows 3.1 und höher). Gibt die Auswahl des Benutzers sollte abgebrochen werden. Der Benutzer klickt auf ein Element klickt und dann ein anderes Fenster oder Steuerelement auf, um das Listenfeld eines Kombinationsfelds auszublenden. Diese Benachrichtigung wird vor der CBN_CLOSEUP Benachrichtigung gesendet, um anzugeben, dass die Auswahl des Benutzers ignoriert werden soll. Die CBN_SELENDCANCEL oder CBN_SELENDOK Benachrichtigung gesendet wird, wenn die CBN_CLOSEUP Benachrichtigungsmeldung nicht übermittelt wird (wie im Fall eines Kombinationsfelds mit dem CBS_SIMPLE Format).
ON_CBN_SELENDOK wählt der Benutzer ein Element aus und dann entweder drückt die EINGABETASTE oder klickt auf die NACH-UNTEN-TASTE, um das Listenfeld eines Kombinationsfelds auszublenden. Diese Benachrichtigung wird vor der CBN_CLOSEUP Meldung gesendet, um anzugeben, dass die Auswahl des Benutzers als gültig betrachtet werden sollte. Die CBN_SELENDCANCEL oder CBN_SELENDOK Benachrichtigung gesendet wird, wenn die CBN_CLOSEUP Benachrichtigungsmeldung nicht übermittelt wird (wie im Fall eines Kombinationsfelds mit dem CBS_SIMPLE Format).
ON_CBN_KILLFOCUS das Kombinationsfeld verliert den Eingabefokus.
ON_CBN_SELCHANGE die Auswahl im Listenfeld eines Kombinationsfelds ist im Begriff, aufgrund des Benutzers geändert werden, der im Listenfeld klickt oder die Auswahl ändert, indem die Pfeiltasten verwendet. Wenn Sie diese Meldung verarbeitet, kann der Text im Bearbeitungssteuerelement des Kombinationsfelds über GetLBText oder eine andere ähnliche Funktion nur abgerufen werden. GetWindowText kann nicht verwendet werden.
ON_CBN_SETFOCUS das Kombinationsfeld empfängt den Eingabefokus.
Wenn Sie ein CComboBox-Objekt innerhalb eines Dialogfelds (durch eine Dialogfeldressource) erstellen, wird das Objekt CComboBox automatisch zerstört, wenn der Benutzer das Dialogfeld geschlossen wird.
Wenn Sie ein CComboBox-Objekt innerhalb eines anderen Fensterobjekts einbetten, müssen Sie nicht, um es zu zerstören. Wenn Sie das CComboBox-Objekt auf dem Stapel erstellen, wird er automatisch zerstört. Wenn Sie das CComboBox-Objekt auf dem Heap erstellen, indem Sie die new-Funktion verwenden, müssen Sie delete für das Objekt aufrufen, um es zu zerstören, wenn das Windows-Kombinationsfeld zerstört wird.
Hinweis, wenn Sie WM_KEYDOWN und WM_CHAR Meldungen bearbeiten möchten, müssen Sie die Bearbeitung und die Listenfeld-Steuerelemente Kombinationsfelds unterordnen, Klassen von CEdit und von CListBox berechnen, und Handler für diese Nachrichten abgeleiteten Klassen hinzufügen. Weitere Informationen finden Sie unter https://support.microsoft.com/default.aspx?scid=kb;en-us;Q174667 und CWnd::SubclassWindow.
Vererbungshierarchie
CComboBox
Anforderungen
Header: afxwin.h