Det merkte området

Det merkede området er et listeelement som brukeren har valgt; den merkede teksten vises i valgfeltet av kombinasjonsboksen. Men i tilfelle av en enkel kombinasjonsboks eller en rullegardinliste kombinasjonsboks er det merkte området bare en form for mulig brukerinndata i en kombinasjonsboks. Brukeren kan også skrive inn tekst i valgfeltet.

Det merkte området identifiseres etter nullbasert indeks for det valgte listeelementet. Et program kan angi og hente det når som helst. Overordnet vindu eller en dialogboks boksen prosedyre mottar varslinger når brukeren endrer gjeldende utvalg for en kombinasjonsboks. Boksen overordnet vindu eller en dialogboks er ikke varslet når programmet endrer det merkede området.

Når det opprettes en kombinasjonsboks, er det ingen gjeldende utvalg. Dette gjelder også for en enkel eller miste-ned kombinasjonsboks, hvis brukeren har redigert innholdet i utvalg-feltet. Hvis du vil angi det gjeldende merkede området, sender et program CB_SETCURSEL meldingen til kombinasjonsboksen. Et program kan også bruke CB_SELECTSTRING -melding til å angi gjeldende valg i en liste som inneholder strengen begynner med en angitt streng. Å finne ut det merkede området, sender et program meldingen CB_GETCURSEL til kombinasjonsboksen. Hvis det er ingen gjeldende utvalg, returnerer denne meldingen CB_ERR.

Når brukeren endrer gjeldende valg i en kombinasjonsboks, mottar overordnede vinduet eller dialogboksen prosedyren en WM_COMMAND melding med varslingsmelding CBN_SELCHANGE i signifikante ordet for parameteren wParam . Meldinga varsling sendes ikke når det gjeldende merkede området angis ved hjelp av CB_SETCURSEL-melding.

En miste-ned kombinasjonsboksen eller rullegardinlisten sender meldingen CBN_CLOSEUP i overordnede-vinduet eller dialogboksen prosedyren når the drop-down list lukkes. Hvis brukeren endret det merkte området, sender kombinasjonsboksen også CBN_SELCHANGE meldingen når rullegardinlisten lukkes. For å utføre en bestemt prosess hver gang brukeren velger et element i en liste, kan du håndtere varslingsmelding enten CBN_SELCHANGE eller CBN_CLOSEUP. Du ville vanligvis, venter på CBN_CLOSEUP melding før behandling av en endring i det merkte området. Dette kan være spesielt viktig hvis en betydelig mengde behandling er nødvendig.

Et program kan også behandle meldingene CBN_SELENDOK og CBN_SELENDCANCEL. Systemet sender CBN_SELENDOK når brukeren velger et listeelement i, eller velger et element, og lukker deretter listen. Dette angir at brukeren er ferdig, og det merkede området som skal behandles. CBN_SELENDCANCEL sendes når brukeren velger et element, men deretter velger en annen kontroll, trykker du escape-tasten mens the drop-down list er åpen, eller lukker dialogboksen. Dette angir brukerens utvalg bør bli ignorert. I en kombinasjonsboks som er enkel sendes CBN_SELENDOK før hver CBN_SELCHANGE-melding. Hvis vindusstilen WS_EX_NOPARENTNOTIFY angis for kombinasjonsboksen, sender systemet ikke CBN_SELENDOK og CBN_SELENDCANCEL-meldinger.

I en kombinasjonsboks som er enkel sender systemet varslingsmelding CBN_DBLCLK når brukeren dobbeltklikker et listeelement. I en miste-ned kombinasjonsboksen eller rullegardinlisten skjuler ett klikk listen, så det ikke er mulig å dobbeltklikke et element.