Aktuelle Auswahl

Die aktuelle Auswahl ist ein Listenelement, das der Benutzer ausgewählt hat. der markierten Text im Auswahlfeld im Kombinationsfeld angezeigt. Allerdings ist die aktuelle Auswahl in ein einfaches Kombinationsfeld oder einem Dropdown-Kombinationsfeld, nur eine Form der möglichen Benutzereingaben in einem Kombinationsfeld. Der Benutzer kann auch Text eingeben, im Auswahlfeld.

Die aktuelle Auswahl wird durch den nullbasierten Index des ausgewählten Listenelements identifiziert. Eine Anwendung kann festlegen und jederzeit abrufen. Die übergeordnete Fenster oder Dialogfeld Feld Prozedur empfängt Benachrichtigungen, wenn Benutzer die aktuelle Auswahl für ein Kombinationsfeld ändert. Das übergeordnete Fenster oder Dialogfeld Feld wird nicht benachrichtigt, wenn die Anwendung die Auswahl geändert.

Wenn ein Kombinationsfeld erstellt wird, gibt es keine aktuelle Auswahl. Dies gilt auch für eine einfache oder Dropdown-Kombinationsfeld, wenn der Benutzer den Inhalt des Felds Auswahl bearbeitet hat. Um die aktuelle Auswahl festgelegt, sendet eine Anwendung die CB_SETCURSEL -Nachricht an das Kombinationsfeld. Eine Anwendung kann auch die CB_SELECTSTRING -Nachricht verwenden, für die aktuelle Auswahl ein Listenelement fest deren Zeichenfolge mit einer angegebenen Zeichenfolge beginnt. Um die aktuelle Auswahl bestimmen, sendet eine Anwendung die CB_GETCURSEL -Nachricht an das Kombinationsfeld. Wenn keine aktuelle Auswahl vorhanden ist, gibt die folgende Meldung CB_ERR.

Wenn der Benutzer die aktuelle Auswahl in einem Kombinationsfeld ändert, empfängt die übergeordnete Fenster oder Dialogfeld-Prozedur eine WM_COMMAND -Meldung mit die CBN_SELCHANGE -Benachrichtigung in das hohe Word des wParam -Parameters. Diese Nachricht wird nicht gesendet, wenn die aktuelle Auswahl festgelegt ist, unter Verwendung der CB_SETCURSEL-Meldung.

Ein Dropdown Kombinationsfeld oder Dropdown-Listenfeld sendet die Benachrichtigung CBN_CLOSEUP an die übergeordnete Fenster oder Dialogfeld-Prozedur, wenn die Dropdown-Liste geschlossen wird. Wenn der Benutzer die aktuelle Auswahl geändert, sendet das Kombinationsfeld auch die CBN_SELCHANGE-Benachrichtigung, wenn die Dropdown Liste schließt. Um einen bestimmten Prozess jedes Mal ausgeführt, der Benutzer ein Element auswählt, können Sie entweder die CBN_SELCHANGE oder CBN_CLOSEUP Benachrichtigung behandeln. In der Regel würden Sie warten, für die CBN_CLOSEUP-Benachrichtigung vor der Verarbeitung einer Änderung in der aktuellen Auswahl. Dies ist besonders wichtig, wenn eine erhebliche Menge der Verarbeitung erforderlich ist.

Eine Anwendung könnte auch die Benachrichtigungsmeldungen CBN_SELENDOK und CBN_SELENDCANCELverarbeiten. Das System sendet CBN_SELENDOK, wenn der Benutzer ein Listenelement wählt oder ein Element wählt und dann die Liste schließt. Dies gibt der Benutzer abgeschlossen wurde, und die Auswahl verarbeitet werden. CBN_SELENDCANCEL wird gesendet, wenn der Benutzer ein Element auswählt, aber dann wählt ein anderes Steuerelement, drückt die ESC-Taste, während die Dropdown Liste geöffnet ist, oder das Dialogfeld geschlossen. Dies zeigt an, dass die Auswahl des Benutzers ignoriert werden sollen. In einem einfachen Kombinationsfeld wird CBN_SELENDOK vor jeder CBN_SELCHANGE-Nachricht gesendet. Wenn der WS_EX_NOPARENTNOTIFY-Fensterstil für das Kombinationsfeld angegeben ist, wird das System nicht CBN_SELENDOK und CBN_SELENDCANCEL Nachrichten senden.

In einem einfachen Kombinationsfeld sendet das System die CBN_DBLCLK -Nachricht, wenn der Benutzer auf ein Element doppelklickt. In einem Dropdown Kombinationsfeld oder Dropdown-Listenfeld blendet ein Klick die Liste, so ist es nicht möglich, ein Element doppelklicken.