A kombinasjonsbokskontroll viser en liste over strenger i drop- down menyen stil . Tilby en måte å vise flere alternativer samtidig spare plass , kombinerer en kombinasjonsboks funksjonaliteten til en liste og en redigeringsboksen. Egenskapene til kombinasjonsbokskontroll er innkapslet i CComboBox klasse av Microsoft Foundation Class Library . Denne opplæringen viser noen ofte brukte funksjoner i denne klassen . Du trenger
Microsoft Visual Studio IDE Reserver på MFC , for eksempel " Programming Windows med MFC " av Jeff Prosise
Vis flere instruksjoner
en
lansere Microsoft Visual Studio. Generere en dialog- basert program for dette prosjektet ved å klikke Fil> Ny> Prosjekter ( tab ) , og velge " MFC AppWizard ( exe ) . " Type " MyCombobox " under "Project navn. " Trykk OK , velg " Dialog basert" og klikk Fullfør.
2
Lag en kombinasjonsboks og endre dets egenskaper . Klikk kategorien Ressurser på venstre side av arbeidsområdet . Utvid Dialog mappen og velg IDD_MYCOMBOBOX_DIALOG . Klikk kombinasjonsboksen ikonet fra verktøykassen på høyre side og sette den i dialogboksen. Endre størrelsen på drop- down forlenge av kombinasjonsboksen ved å klikke på pilen og dra ned rektangel . Høyreklikk , velg Egenskaper , klikk Stiler fanen og under Type velger Enkelt. Lukk Combo Box Properties -boksen.
3
Legg til elementer i kombinasjonsboksen. Du kan gjøre dette på to måter . Legge dem på design tid , høyreklikk på kombinasjonsboksen , velg Egenskaper , klikk på kategorien Data og inn elementene . For å komme til neste element , trykk Ctrl + Enter. Legge dem under kjøring , kan du ringe CComboBox :: addstring ( ) for å legge til elementer til slutten eller CComboBox :: InsertString ( ) for å sette inn elementer i en bestemt plassering . Elementene er av type lpszString .
4
Endre bredden av kombinasjonsboksen dynamisk. Du kan vise et element fullt , uansett hvor lenge det er, takket være CComboBox :: SetDroppedWidth ( ) medlem funksjon. Det tar som parameter bredden av strengen i piksler .
5
Utføre andre fellesfunksjoner . Velg et element under kjøring ved å bruke CComboBox :: SetCurSel ( ) . Det aksepterer som parameter et heltall indeks. Finn indeksen for det valgte elementet med CComboBox :: GetCurSel ( ) . Hente data ved hjelp CComboBox :: GetItemData ( ) . Bestem elementtelling gjennom CComboBox :: GetCount ( ) .
6
Eliminer elementer fra en MFC kombinasjonsboks. Hvis strengen er kjent, kan du bruke CComboBox :: FindString () for å bestemme indeksen og deretter bruke CComboBox :: DeleteString ( ) . CComboBox :: Clear ( ) sletter gjeldende valg hvis noen, mens CComboBox :: Cut ( ) fjerner gjeldende valg og plasserer den på utklippstavlen .
7
forstå budskapet - kart varselmeldinger som en kombinasjonsboksen kan sende . Når kombinasjonsboksen liste boksen er lukket, for eksempel, er ON_CBN_CLOSEUP sendt. Når kombinasjonsboksen mister sin inngang fokus på grunn av et museklikk utenfor sine grenser , sender den ON_CBN_KILLFOCUS . Det er et budskap - kart for alle mulige state- endring som en kombinasjonsboks kan gjennomgå .