En kombinationsruta kontroll visar en lista med strängar i rullgardinsmenyn stil . Ger ett sätt att visa flera alternativ och samtidigt spara utrymme , kombinerar en kombinationsruta funktionaliteten av en listruta och ett skrivfält . Funktionerna i kombinationsrutan kontroll är inkapslade i CComboBox klassen av Microsoft Foundation Class Library . Denna handledning visar några vanliga funktioner i denna klass . Saker du behöver
Microsoft Visual Studio IDE
Boka på MFC , såsom " Programmering Windows med MFC " av Jeff Prosise
Visa fler instruktioner
1
Starta Microsoft Visual Studio . Skapa en dialog - baserad applikation för detta projekt genom att klicka på Arkiv > Nytt > Projekt ( fliken ) , och välja " MFC AppWizard ( exe ) . " Typ " MyCombobox " under " Projektets namn . " Tryck på OK , välj " Dialog baserad " och klicka på Slutför .
2
Skapa en kombinationsruta och ändra dess egenskaper . Klicka på fliken Resurser på vänster sida av arbetsytan . Expandera Dialog mappen och välj IDD_MYCOMBOBOX_DIALOG . Klicka på ikonen kombinationsrutan från verktygslådan till höger och lägg dem på dialogrutan . Ändra storlek på rullgardinsmenyn sträcka av kombinationsrutan genom att klicka på pilen och dra ner rektangeln . Högerklicka , välj Egenskaper , klicka på fliken Mallar och under Typ väljer Simple . Stäng Kombinationsruta Egenskaper rutan .
3
Lägg till objekt i kombinationsrutan . Du kan göra detta på två sätt . Att lägga dem vid utformning tid , högerklicka på kombinationsrutan , välj Egenskaper , klicka på fliken Data och ange objekt . För att komma till nästa objekt genom att trycka Ctrl + Enter . Att lägga dem under körning , ringa CComboBox :: AddString ( ) för att lägga till objekt till slutet eller CComboBox :: InsertString ( ) för att infoga objekt i specifik plats . Objekten är av typen lpszString .
4
Ändra bredden på kombinationsrutan dynamiskt . Du kan visa alla objekt helt , oavsett hur lång tid det är , tack vare CComboBox :: SetDroppedWidth ( ) medlemsfunktion . Det tar som parameter bredden av strängen i pixlar.
5
Utför andra vanliga funktioner. Markera ett objekt vid körning med CComboBox :: SetCurSel ( ) . Det tar som parameter ett heltal index . Hitta indexet för det valda objektet med CComboBox :: GetCurSel ( ) . Hämta data med hjälp CComboBox :: GetItemData ( ) . Bestäm posträkning genom CComboBox :: getCount ( ) .
6
Eliminera objekt från en MFC kombinationsrutan . Om strängen är känd , kan du använda CComboBox :: FindString ( ) för att bestämma index och sedan använda CComboBox :: deletestring ( ) . CComboBox :: Clear ( ) raderar den aktuella markeringen om någon , medan CComboBox :: Cut ( ) tar bort det aktuella valet och lägger den på klippbordet .
7
förstå budskapet - kartan aviseringsmeddelanden som en kombinationsruta kan skicka . När kombinationsrutan lista rutan är stängd , till exempel , är ON_CBN_CLOSEUP skickas . När kombinationsrutan förlorar sin input fokus på grund av ett musklick utanför dess gränser , skickar den ON_CBN_KILLFOCUS . Det finns ett meddelande - karta för varje möjlig state - förändring som en kombinationsruta kan genomgå .