Huidige selectie

De huidige selectie is een item in de lijst die de gebruiker heeft geselecteerd; de geselecteerde tekst weergegeven in het gebied selectie van de keuzelijst met invoervak. In het geval van een eenvoudige keuzelijst met invoervak of een vervolgkeuzelijst van een keuzelijst met invoervak wordt de huidige selectie echter slechts één vorm van mogelijke gebruikersinvoer in een keuzelijst met invoervak. De gebruiker kan ook tekst typen in het selectieveld.

De huidige selectie wordt geïdentificeerd door de op nul gebaseerde index van het geselecteerde lijstitem. Een toepassing kan instellen en ophalen het op elk moment. Het bovenliggende venster of een dialoogvenster vak procedure ontvangt meldingen wanneer de gebruiker wijzigt de huidige selectie voor een keuzelijst met invoervak. Het vak bovenliggende venster of dialoogvenster is niet gewaarschuwd wanneer de toepassing de selectie verandert.

Wanneer een keuzelijst met invoervak wordt gemaakt, is er geen huidige selectie. Dit geldt ook voor een eenvoudige of drop-down keuzelijst met invoervak, als de gebruiker de inhoud van het selectieveld heeft bewerkt. De huidige selectie instellen, verzendt een toepassing het bericht CB_SETCURSEL naar de keuzelijst met invoervak. Een toepassing kan het bericht CB_SELECTSTRING ook gebruiken om de huidige selectie ingesteld op een item in de lijst waarvan tekenreeks met een opgegeven tekenreeks begint. De huidige selectie te bepalen, verzendt een toepassing het bericht CB_GETCURSEL naar de keuzelijst met invoervak. Als er geen huidige selectie, dit bericht als resultaat CB_ERR.

Wanneer de gebruiker de huidige selectie in een keuzelijst met invoervak wijzigt, ontvangt het bovenliggende venster of dialoogvenster procedure een WM_COMMAND -bericht met de melding CBN_SELCHANGE in de eersterangs woord van de wParam -parameter. Dit bericht is niet verzonden wanneer de huidige selectie wordt ingesteld met het CB_SETCURSEL bericht.

Een drop-down combodoos of drop-down lijstvakje stuurt de kennisgeving CBN_CLOSEUP naar het bovenliggende venster of dialoogvenster procedure wanneer de drop-down lijst wordt gesloten. Als de gebruiker de huidige selectie gewijzigd, stuurt de keuzelijst met invoervak ook de CBN_SELCHANGE melding wanneer de drop-down lijst wordt gesloten. Uitvoeren een specifiek proces telkens wanneer die de gebruiker een item in de lijst selecteert, kunt u de CBN_SELCHANGE of de CBN_CLOSEUP melding afhandelen. Typisch, zou u wachten tot de CBN_CLOSEUP kennisgeving vóór verwerking van een verandering in de huidige selectie. Dit kan met name belangrijk als een aanzienlijke hoeveelheid verwerking vereist is.

Een toepassing kan ook de meldingen van CBN_SELENDOK en CBN_SELENDCANCELverwerken. Het systeem stuurt CBN_SELENDOK wanneer de gebruiker een item in de lijst selecteert, of een item selecteert en vervolgens de lijst wordt gesloten. Dit geeft aan dat de gebruiker is voltooid, en de selectie moet worden verwerkt. CBN_SELENDCANCEL wordt verzonden wanneer de gebruiker een item selecteert, maar vervolgens selecteert een ander besturingselement, drukt de escape-toets terwijl het drop-down lijst is geopend, of sluit u het dialoogvenster. Dit geeft aan dat de selectie van de gebruiker moet worden genegeerd. In een eenvoudige keuzelijst met invoervak, wordt CBN_SELENDOK verzonden voor elk CBN_SELCHANGE bericht. Als de stijl venster WS_EX_NOPARENTNOTIFY is opgegeven voor de keuzelijst met invoervak, verzendt het systeem geen berichten voor CBN_SELENDOK en CBN_SELENDCANCEL.

In een eenvoudige keuzelijst met invoervak verzendt het systeem het CBN_DBLCLK -bericht wanneer de gebruiker dubbelklikt op een item in de lijst. In een drop-down combodoos of drop-down lijst verbergt een enkele klik de lijst dus het is niet mogelijk om Dubbelklik op een item.