Dela via


Kombinationsruta (Windows-kontroller)

Det här avsnittet innehåller information om de programmeringselement som används med kombinationsrutor. En kombinationsruta är en unik typ av kontroll, definierad av COMBOBOX-klassen, som kombinerar mycket av funktionerna i en listruta och en redigeringskontroll.

Översikter

Ämne Innehåll
om kombinationsrutor I det här avsnittet beskrivs olika typer av kombinationsrutor.
Kombinationsrutefunktioner I det här dokumentet beskrivs funktionerna i kombinationsrutan.
använda kombinationsrutor Kodexemplen i det här avsnittet visar hur du utför uppgifter som är associerade med kombinationsrutor.

Funktioner

Ämne Innehåll
DlgDirListComboBox Ersätter innehållet i en kombinationsruta med namnen på underkatalogerna och filerna i en angiven katalog. Du kan filtrera listan med namn genom att ange en uppsättning filattribut. Listan med namn kan innehålla mappade enhetsbeteckningar.
DlgDirSelectComboBoxEx Hämtar den aktuella markeringen från en kombinationsruta som fylls med hjälp av funktionen DlgDirListComboBox. Markeringen tolkas som en enhetsbeteckning, en fil eller ett katalognamn.
GetComboBoxInfo Hämtar information om den angivna kombinationsrutan.

Makron

Ämne Innehåll
ComboBox_AddItemData Lägger till objektdata i listan i en kombinationsruta på den angivna platsen. Du kan använda det här makrot eller uttryckligen skicka CB_ADDSTRING meddelande.
ComboBox_AddString Lägger till en sträng i en lista i en kombinationsruta. Om kombinationsrutan inte har CBS_SORT stil läggs strängen till i slutet av listan. Annars infogas strängen i listan och listan sorteras. Du kan använda det här makrot eller uttryckligen skicka CB_ADDSTRING meddelande.
ComboBox_DeleteString Tar bort objektet på den angivna platsen i en lista i en kombinationsruta. Du kan använda det här makrot eller skicka CB_DELETESTRING-meddelandet explicit.
ComboBox_Dir Lägger till namn i listan som visas av en kombinationsruta. Makrot lägger till namnen på kataloger och filer som matchar en angiven sträng och uppsättning filattribut. Den kan också lägga till mappade enhetsbeteckningar i listan i en kombinationsruta. Du kan använda det här makrot eller skicka meddelandet CB_DIR explicit.
ComboBox_Enable Aktiverar eller inaktiverar en kombinationsrutekontroll.
ComboBox_FindItemData Söker efter det första objektet i en kombinationsruta med angivna objektdata. Du kan använda det här makrot eller uttryckligen skicka meddelandet CB_FINDSTRING.
ComboBox_FindString Hittar den första strängen i en kombinationsruta som börjar med den angivna strängen. Du kan använda det här makrot eller uttryckligen skicka meddelandet CB_FINDSTRING.
ComboBox_FindStringExact Hittar den första strängen i en kombinationsruta som exakt matchar den angivna strängen, förutom att sökningen inte är skiftlägeskänslig. Du kan använda det här makrot eller skicka meddelandet CB_FINDSTRINGEXACT explicit.
ComboBox_GetCount Hämtar antalet objekt i listrutan i en kombinationsruta. Du kan använda det här makrot eller uttryckligen skicka CB_GETCOUNT meddelande.
ComboBox_GetCueBannerText Hämtar den text som visas i redigeringskontrollen för en kombinationsruta. Använd det här makrot eller skicka CB_GETCUEBANNER-meddelandet explicit.
ComboBox_GetCurSel Hämtar indexet för det markerade objektet i en kombinationsruta. Du kan använda det här makrot eller skicka meddelandet CB_GETCURSEL explicit.
ComboBox_GetDroppedControlRect Hämtar skärmkoordinaterna för en kombinationsruta i nedrullningsat tillstånd. Du kan använda det här makrot eller skicka CB_GETDROPPEDCONTROLRECT-meddelandet explicit.
ComboBox_GetDroppedState Kontrollerar om listrutan i en kombinationsruta är synlig. Du kan använda det här makrot eller uttryckligen skicka CB_GETDROPPEDSTATE meddelandet.
ComboBox_GetExtendedUI Kontrollerar om en kombinationsruta använder standardanvändargränssnittet (UI) eller det utökade användargränssnittet. Du kan använda det här makrot eller skicka meddelandet CB_GETEXTENDEDUI explicit.
ComboBox_GetItemData Hämtar det programdefinierade värdet som är associerat med det angivna listobjektet i en kombinationsruta. Du kan använda det här makrot eller uttryckligen skicka CB_GETITEMDATA meddelande.
ComboBox_GetItemHeight Hämtar höjden på listobjekt i en kombinationsruta. Du kan använda det här makrot eller skicka CB_GETITEMHEIGHT-meddelandet explicit.
ComboBox_GetLBText Hämtar en sträng från en lista i en kombinationsruta. Du kan använda det här makrot eller skicka CB_GETLBTEXT-meddelandet explicit.
ComboBox_GetLBTextLen Hämtar längden på en sträng i listan i en kombinationsruta. Du kan använda det här makrot eller skicka meddelandet CB_GETLBTEXTLEN explicit.
ComboBox_GetMinVisible Hämtar det minsta antalet synliga objekt i listrutan i en kombinationsruta.
ComboBox_GetText Hämtar texten från en kombinationsrutekontroll.
ComboBox_GetTextLength Hämtar antalet tecken i texten i en kombinationsruta.
ComboBox_InsertItemData Infogar objektdata i en lista i en kombinationsruta på den angivna platsen. Du kan använda det här makrot eller uttryckligen skicka CB_INSERTSTRING meddelandet.
ComboBox_InsertString Lägger till en sträng i en lista i en kombinationsruta på den angivna platsen. Du kan använda det här makrot eller uttryckligen skicka CB_INSERTSTRING meddelandet.
ComboBox_LimitText Begränsar längden på texten som användaren kan skriva i redigeringskontrollen för en kombinationsruta. Du kan använda det här makrot eller skicka CB_LIMITTEXT-meddelandet explicit.
ComboBox_ResetContent Tar bort alla objekt från listrutan och redigerar kontrollen för en kombinationsruta. Du kan använda det här makrot eller skicka CB_RESETCONTENT-meddelandet explicit.
ComboBox_SelectItemData Söker i en lista i en kombinationsruta efter ett objekt som har angivna objektdata. Om ett matchande objekt hittas markeras objektet. Du kan använda det här makrot eller skicka CB_SELECTSTRING-meddelandet explicit.
ComboBox_SelectString Söker i en lista i en kombinationsruta efter ett objekt som börjar med tecknen i en angiven sträng. Om ett matchande objekt hittas markeras objektet. Du kan använda det här makrot eller skicka CB_SELECTSTRING-meddelandet explicit.
ComboBox_SetCueBannerText Anger den banderollstext som visas för redigeringskontrollen för en kombinationsruta.
ComboBox_SetCurSel Anger det markerade objektet i en kombinationsruta. Du kan använda det här makrot eller skicka CB_SETCURSEL-meddelandet explicit.
ComboBox_SetExtendedUI Väljer antingen standardanvändargränssnittet (användargränssnittet) eller det utökade användargränssnittet för en kombinationsruta som har CBS_DROPDOWN eller CBS_DROPDOWNLIST formatmall. Du kan använda det här makrot eller skicka meddelandet CB_SETEXTENDEDUI explicit.
ComboBox_SetItemData Anger det programdefinierade värdet som är associerat med det angivna listobjektet i en kombinationsruta. Du kan använda det här makrot eller skicka CB_SETITEMDATA-meddelandet explicit.
ComboBox_SetItemHeight Anger höjden på listobjekt eller markeringsfältet i en kombinationsruta. Du kan använda det här makrot eller skicka CB_SETITEMHEIGHT-meddelandet explicit.
ComboBox_SetMinVisible Anger det minsta antalet synliga objekt i listrutan i en kombinationsruta.
ComboBox_SetText Anger texten i en kombinationsruta.
ComboBox_ShowDropdown Visar eller döljer listan i en kombinationsruta. Du kan använda det här makrot eller skicka meddelandet CB_SHOWDROPDOWN explicit.

Meddelanden

Ämne Innehåll
CB_ADDSTRING Lägger till en sträng i listrutan i en kombinationsruta. Om kombinationsrutan inte har CBS_SORT stil läggs strängen till i slutet av listan. Annars infogas strängen i listan och listan sorteras.
CB_DELETESTRING Tar bort en sträng i listrutan i en kombinationsruta.
CB_DIR Lägger till namn i listan som visas i kombinationsrutan. Meddelandet lägger till namnen på kataloger och filer som matchar en angiven sträng och uppsättning filattribut. CB_DIR kan också lägga till mappade enhetsbeteckningar i listan.
CB_FINDSTRING Söker i listrutan i en kombinationsruta efter ett objekt som börjar med tecknen i en angiven sträng.
CB_FINDSTRINGEXACT Hittar den första listrutesträngen i en kombinationsruta som matchar strängen som anges i parametern lParam.
CB_GETCOMBOBOXINFO Hämtar information om den angivna kombinationsrutan.
CB_GETCOUNT Hämtar antalet objekt i listrutan i en kombinationsruta.
CB_GETCUEBANNER Hämtar den text som visas i redigeringskontrollen för en kombinationsruta. Skicka det här meddelandet explicit eller med hjälp av makrot ComboBox_GetCueBannerText.
CB_GETCURSEL Ett program skickar ett CB_GETCURSEL meddelande för att hämta indexet för det markerade objektet, om det finns något, i listrutan i en kombinationsruta.
CB_GETDROPPEDCONTROLRECT Ett program skickar ett CB_GETDROPPEDCONTROLRECT meddelande för att hämta skärmkoordinaterna för en kombinationsruta i nedrullningsläge.
CB_GETDROPPEDSTATE Avgör om listrutan i en kombinationsruta är nedsläppt.
CB_GETDROPPEDWIDTH Hämtar den minsta tillåtna bredden i bildpunkter för listrutan i en kombinationsruta med CBS_DROPDOWN eller CBS_DROPDOWNLIST formatmall.
CB_GETEDITSEL Hämtar start- och slutteckenpositionerna för den aktuella markeringen i redigeringskontrollen för en kombinationsruta.
CB_GETEXTENDEDUI Avgör om en kombinationsruta har standardanvändargränssnittet eller det utökade användargränssnittet.
CB_GETHORIZONTALEXTENT Hämtar bredden i bildpunkter som listrutan kan rullas vågrätt (den rullningsbara bredden). Detta gäller endast om listrutan har en vågrät rullningslist.
CB_GETITEMDATA Ett program skickar ett CB_GETITEMDATA meddelande till en kombinationsruta för att hämta det angivna värdet för det angivna objektet i kombinationsrutan.
CB_GETITEMHEIGHT Avgör höjden på listobjekt eller markeringsfältet i en kombinationsruta.
CB_GETLBTEXT Hämtar en sträng från listan över en kombinationsruta.
CB_GETLBTEXTLEN Hämtar längden, i tecken, på en sträng i listan över en kombinationsruta.
CB_GETLOCALE Hämtar den aktuella språkvarianten för kombinationsrutan. Språkvarianten används för att fastställa rätt sorteringsordning för visad text för kombinationsrutor med CBS_SORT formatmall och text som läggs till med hjälp av CB_ADDSTRING meddelandet.
CB_GETMINVISIBLE Hämtar det minsta antalet synliga objekt i listrutan i en kombinationsruta.
CB_GETTOPINDEX Ett program skickar meddelandet CB_GETTOPINDEX för att hämta det nollbaserade indexet för det första synliga objektet i listrutan i en kombinationsruta. Till en början är objektet med index 0 överst i listrutan, men om listrutans innehåll har rullats kan ett annat objekt vara överst.
CB_INITSTORAGE Ett program skickar meddelandet CB_INITSTORAGE innan ett stort antal objekt läggs till i listrutans del av en kombinationsruta. Det här meddelandet allokerar minne för lagring av listruteobjekt.
CB_INSERTSTRING Infogar en sträng eller objektdata i listan över en kombinationsruta. Till skillnad från det CB_ADDSTRING meddelandet leder CB_INSERTSTRING meddelandet inte till att en lista med CBS_SORT formatmall sorteras.
CB_LIMITTEXT Begränsar längden på texten som användaren kan skriva i redigeringskontrollen för en kombinationsruta.
CB_RESETCONTENT Tar bort alla objekt från listrutan och redigerar kontrollen för en kombinationsruta.
CB_SELECTSTRING Söker i listan över en kombinationsruta efter ett objekt som börjar med tecknen i en angiven sträng. Om ett matchande objekt hittas markeras det och kopieras till redigeringskontrollen.
CB_SETCUEBANNER Anger den banderollstext som visas för redigeringskontrollen för en kombinationsruta.
CB_SETCURSEL Ett program skickar ett CB_SETCURSEL meddelande för att välja en sträng i listan över en kombinationsruta. Om det behövs rullar listan strängen i vyn. Texten i redigeringskontrollen för kombinationsrutan ändras för att återspegla den nya markeringen och eventuella tidigare val i listan tas bort.
CB_SETDROPPEDWIDTH Ett program skickar meddelandet CB_SETDROPPEDWIDTH för att ange den maximala tillåtna bredden, i bildpunkter, för listrutan i en kombinationsruta med formatet CBS_DROPDOWN eller CBS_DROPDOWNLIST.
CB_SETEDITSEL Ett program skickar ett CB_SETEDITSEL meddelande för att välja tecken i redigeringskontrollen för en kombinationsruta.
CB_SETEXTENDEDUI Ett program skickar ett CB_SETEXTENDEDUI meddelande för att välja antingen standardgränssnittet eller det utökade användargränssnittet för en kombinationsruta som har formatet CBS_DROPDOWN eller CBS_DROPDOWNLIST.
CB_SETHORIZONTALEXTENT Ett program skickar meddelandet CB_SETHORIZONTALEXTENT för att ange bredden, i bildpunkter, med vilken en listruta kan rullas vågrätt (den rullningsbara bredden). Om listrutans bredd är mindre än det här värdet rullar den vågräta rullningslisten objekt i listrutan vågrätt. Om listrutans bredd är lika med eller större än det här värdet är den vågräta rullningslisten dold eller, om kombinationsrutan har CBS_DISABLENOSCROLL formatmall, inaktiverad.
CB_SETITEMDATA Ett program skickar ett CB_SETITEMDATA meddelande för att ange värdet som är associerat med det angivna objektet i en kombinationsruta.
CB_SETITEMHEIGHT Ett program skickar ett CB_SETITEMHEIGHT meddelande för att ange höjden på listobjekt eller markeringsfältet i en kombinationsruta.
CB_SETLOCALE Ett program skickar ett CB_SETLOCALE meddelande för att ange den aktuella nationella inställningen för kombinationsrutan. Om kombinationsrutan har CBS_SORT formatmall och strängar läggs till med hjälp av CB_ADDSTRINGpåverkar språkvarianten för en kombinationsruta hur listobjekt sorteras.
CB_SETMINVISIBLE Ett program skickar ett CB_SETMINVISIBLE meddelande för att ange det minsta antalet synliga objekt i listrutan i en kombinationsruta.
CB_SETTOPINDEX Ett program skickar meddelandet CB_SETTOPINDEX för att säkerställa att ett visst objekt visas i listrutan i en kombinationsruta. Systemet rullar listrutans innehåll så att antingen det angivna objektet visas överst i listrutan eller så har det maximala rullningsintervallet nåtts.
CB_SHOWDROPDOWN Ett program skickar ett CB_SHOWDROPDOWN meddelande för att visa eller dölja listrutan i en kombinationsruta som har CBS_DROPDOWN eller CBS_DROPDOWNLIST formatmall.

Meddelanden

Ämne Innehåll
CBN_CLOSEUP CBN_CLOSEUP-meddelandekoden skickas när listrutan i en kombinationsruta har stängts. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_DBLCLK CBN_DBLCLK-meddelandekoden skickas när användaren dubbelklickar på en sträng i listrutan i en kombinationsruta. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_DROPDOWN CBN_DROPDOWN-meddelandekoden skickas när listrutan i en kombinationsruta är på väg att visas. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_EDITCHANGE Den CBN_EDITCHANGE meddelandekoden skickas när användaren har vidtagit en åtgärd som kan ha ändrat texten i redigeringskontrolldelen i en kombinationsruta. Till skillnad från CBN_EDITUPDATE meddelandekod skickas den här meddelandekoden när systemet har uppdaterat skärmen. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_EDITUPDATE Den CBN_EDITUPDATE meddelandekoden skickas när redigeringskontrolldelen i en kombinationsruta håller på att visa ändrad text. Den här meddelandekoden skickas när kontrollen har formaterat texten, men innan texten visas. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_ERRSPACE CBN_ERRSPACE-meddelandekoden skickas när en kombinationsruta inte kan allokera tillräckligt med minne för att uppfylla en specifik begäran. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_KILLFOCUS Meddelandekoden CBN_KILLFOCUS skickas när en kombinationsruta förlorar tangentbordets fokus. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_SELCHANGE Den CBN_SELCHANGE meddelandekoden skickas när användaren ändrar den aktuella markeringen i listrutan i en kombinationsruta. Användaren kan ändra markeringen genom att klicka i listrutan eller med hjälp av piltangenterna. Det överordnade fönstret i kombinationsrutan tar emot det här meddelandet i form av ett WM_COMMAND meddelande med CBN_SELCHANGE i högordningsordet i parametern wParam.
CBN_SELENDCANCEL CBN_SELENDCANCEL-meddelandekoden skickas när användaren väljer ett objekt, men väljer sedan en annan kontroll eller stänger dialogrutan. Det anger att användarens första val ska ignoreras. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_SELENDOK Den CBN_SELENDOK meddelandekoden skickas när användaren väljer ett listobjekt eller väljer ett objekt och stänger sedan listan. Det anger att användarens val ska bearbetas. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
CBN_SETFOCUS CBN_SETFOCUS-meddelandekoden skickas när en kombinationsruta tar emot tangentbordets fokus. Kombinationsrutans överordnade fönster tar emot den här meddelandekoden via WM_COMMAND meddelande.
WM_COMPAREITEM Systemet skickar WM_COMPAREITEM meddelande för att fastställa den relativa positionen för ett nytt objekt i den sorterade listan över en ägarritad kombinationsruta eller listruta. När programmet lägger till ett nytt objekt skickar systemet det här meddelandet till ägaren av en kombinationsruta eller listruta som skapats med formatet CBS_SORT eller LBS_SORT.
WM_DRAWITEM Meddelandet WM_DRAWITEM skickas till det överordnade fönstret för en ägarritad knapp, kombinationsruta, listruta eller meny när en visuell aspekt av knappen, kombinationsrutan, listrutan eller menyn har ändrats.
WM_MEASUREITEM Meddelandet WM_MEASUREITEM skickas till ägarfönstret för en kombinationsruta, listruta, listvykontroll eller menyalternativ när kontrollen eller menyn skapas.

Strukturer

Ämne Innehåll
COMBOBOXINFO Innehåller statusinformation för kombinationsrutor.
COMPAREITEMSTRUCT Tillhandahåller identifierare och programdata för två objekt i en sorterad, ägarritad listruta eller kombinationsruta.
DRAWITEMSTRUCT Tillhandahåller nödvändig information i ägarfönstret för att avgöra hur du målar en ägarritad kontroll eller menyalternativ. Ägarfönstret för den ägarritade kontrollen eller menyalternativet tar emot en pekare till den här strukturen som lParam parametern för WM_DRAWITEM-meddelandet.
MEASUREITEMSTRUCT Informerar systemet om dimensionerna för en ägarritad kontroll eller menyalternativ. Detta gör att systemet kan bearbeta användarinteraktion med kontrollen på rätt sätt.

Konstanter

Ämne Innehåll
kombinationsruteformat Om du vill skapa en kombinationsruta med hjälp av funktionen CreateWindow eller CreateWindowEx anger du COMBOBOX-klassen, lämpliga fönsterformatkonstanter och en kombination av följande kombinationsruteformat.