A kombinationsboks kontrol viser en liste af strenge i rullemenuen stil. Giver en måde at vise flere muligheder og samtidig spare plads , en kombinationsboks kombinerer funktionaliteten i en liste og en redigeringsboks . Funktionerne i kombinationsboksen kontrol er indkapslet i CComboBox klassen af Microsoft Foundation Class Library . Denne tutorial viser nogle almindeligt anvendte funktioner i denne klasse. Ting du skal
Microsoft Visual Studio IDE
Bog om MFC , såsom " Programmering Windows med MFC " af Jeff Prosise
Vis Flere Instruktioner
1
Launch Microsoft Visual Studio. Generer en dialog -baseret program til dette projekt ved at klikke på Filer > Ny> Projekter ( fane) , og vælge " MFC AppWizard ( exe ) . " Type " MyCombobox " under "Projekt navn. " Tryk på OK , vælg " Dialog -baseret ", og klik på Udfør.
2
Opret en kombinationsboks og ændre dens egenskaber. Klik på fanen Ressourcer i venstre side af arbejdsområdet. Udvid Dialog mappe, og vælg IDD_MYCOMBOBOX_DIALOG . Klik på kombinationsboksen ikonet fra værktøjskassen på højre side og sætte det på dialogen. Resize drop- down Omfanget af kombinationsboksen ved at klikke på pilen og trække ned rektangel. Så højreklik , vælg Egenskaber , klik på fanen Typografier og under Type , skal du vælge Simple. Luk Combo Box Properties kassen.
3
Tilføj elementer til kombinationsboksen . Du kan gøre dette på to måder. For at tilføje dem på design tid , skal du højreklikke på kombinationsboksen , vælg Egenskaber , klikke på fanen Data og indtaste poster. For at komme til det næste element ved at trykke på Ctrl + Enter. For at tilføje dem på runtime , så ring til CComboBox :: addstring () for at tilføje elementer til slutningen eller CComboBox :: InsertString () for at indsætte poster i en bestemt placering . Punkterne er af typen lpszString .
4
Ændre bredden på kombinationsboksen dynamisk. Du kan vise ethvert element helt , uanset hvor længe det er , takket være den CComboBox :: SetDroppedWidth () medlem funktion. Det tager som parameter bredden af strengen i pixel.
5.
Udføre andre fælles funktioner . Vælg et punkt ved runtime ved hjælp CComboBox :: SetCurSel (). Det accepterer som parameter et heltal indeks. Find indekset for det valgte emne med CComboBox :: GetCurSel (). Hente data ved hjælp CComboBox :: GetItemData (). Bestem punktet tæller gennem CComboBox :: GetCount ().
6
Eliminer elementer fra en MFC kombinationsboks. Hvis strengen er kendt , kan du bruge CComboBox :: FindString ( ) for at afgøre indekset og derefter bruge CComboBox :: DeleteString (). CComboBox :: Clear ( ) Sletter den aktuelle markering, hvis nogen , mens CComboBox :: Cut () fjerner det aktuelle valg og placerer den i klippebordet .
7
forstå budskabet -map meddelelserne , at en kombinationsboks kan sende . Når kombinationsboksen liste kasse er lukket, for eksempel, er ON_CBN_CLOSEUP sendt. Når kombinationsboksen mister sit input fokus på grund af et museklik uden for dets grænser , sender ON_CBN_KILLFOCUS . Der er et budskab map alle mulige state- ændring, som en kombinationsboks kan gennemgå .