Číst v angličtině

Sdílet prostřednictvím


Pole se seznamem (ovládací prvky Windows)

Tato část obsahuje informace o programovacích prvcích používaných se seznamovými poli. Pole se seznamem je jedinečný typ ovládacího prvku definovaného třídou COMBOBOX, který kombinuje většinu funkcí seznamu a ovládacího prvku pro úpravy.

Přehledy

Námět Obsah
o polích se seznamem Tato část popisuje různé druhy polí se seznamem.
funkce pole se seznamem Tento dokument popisuje funkce pole se seznamem.
použití polí se seznamem Příklady kódu v této části ukazují, jak provádět úlohy spojené s poli se seznamem.

Funkce

Námět Obsah
DlgDirListComboBox Nahradí obsah pole se seznamem názvy podadresářů a souborů v zadaném adresáři. Seznam názvů můžete filtrovat zadáním sady atributů souboru. Seznam názvů může obsahovat namapovaná písmena jednotek.
DlgDirSelectComboBoxEx Načte aktuální výběr z pole se seznamem vyplněného pomocí funkce DlgDirListComboBox. Výběr se interpretuje jako písmeno jednotky, soubor nebo název adresáře.
GetComboBoxInfo Načte informace o zadaném poli se seznamem.

Makra

Námět Obsah
ComboBox_AddItemData Přidá data položek do seznamu v poli se seznamem v zadaném umístění. Toto makro můžete použít nebo odeslat zprávu CB_ADDSTRING explicitně.
ComboBox_AddString Přidá řetězec do seznamu do pole se seznamem. Pokud pole se seznamem nemá styl CBS_SORT, řetězec se přidá na konec seznamu. V opačném případě se řetězec vloží do seznamu a seznam se seřadí. Toto makro můžete použít nebo odeslat zprávu CB_ADDSTRING explicitně.
ComboBox_DeleteString Odstraní položku v zadaném umístění v seznamu v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_DELETESTRING explicitně.
ComboBox_Dir Přidá jména do seznamu zobrazeného polem se seznamem. Makro přidá názvy adresářů a souborů, které odpovídají zadanému řetězci a sadě atributů souboru. Může také přidat namapovaná písmena jednotek do seznamu v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_DIR explicitně.
ComboBox_Enable Povolí nebo zakáže ovládací prvek pole se seznamem.
ComboBox_FindItemData Najde první položku v seznamu se seznamem, který obsahuje zadaná data položky. Toto makro můžete použít nebo odeslat zprávu CB_FINDSTRING explicitně.
ComboBox_FindString Najde první řetězec v seznamu se seznamem, který začíná zadaným řetězcem. Toto makro můžete použít nebo odeslat zprávu CB_FINDSTRING explicitně.
ComboBox_FindStringExact Najde první řetězec v seznamu polí se seznamem, který přesně odpovídá zadanému řetězci, s tím rozdílem, že hledání nerozlišuje malá a velká písmena. Toto makro můžete použít nebo odeslat CB_FINDSTRINGEXACT zprávu explicitně.
ComboBox_GetCount Získá počet položek v seznamu pole se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_GETCOUNT explicitně.
ComboBox_GetCueBannerText Získá text banneru upozornění zobrazený v ovládacím prvku pro úpravy pole se seznamem. Toto makro použijte nebo odešlete zprávu CB_GETCUEBANNER explicitně.
ComboBox_GetCurSel Získá index aktuálně vybrané položky v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_GETCURSEL explicitně.
ComboBox_GetDroppedControlRect Načte souřadnice obrazovky pole se seznamem v vyřazeném stavu. Toto makro můžete použít nebo odeslat zprávu CB_GETDROPPEDCONTROLRECT explicitně.
ComboBox_GetDroppedState Zjistí, jestli je rozevírací seznam v ovládacím prvku pole se seznamem viditelný. Toto makro můžete použít nebo odeslat zprávu CB_GETDROPPEDSTATE explicitně.
ComboBox_GetExtendedUI Zjistí, jestli pole se seznamem používá výchozí uživatelské rozhraní nebo rozšířené uživatelské rozhraní. Toto makro můžete použít nebo odeslat zprávu CB_GETEXTENDEDUI explicitně.
ComboBox_GetItemData Získá hodnotu definovanou aplikací přidruženou k zadané položce seznamu v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_GETITEMDATA explicitně.
ComboBox_GetItemHeight Načte výšku položek seznamu v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_GETITEMHEIGHT explicitně.
ComboBox_GetLBText Získá řetězec ze seznamu v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_GETLBTEXT explicitně.
ComboBox_GetLBTextLen Získá délku řetězce v seznamu v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_GETLBTEXTLEN explicitně.
ComboBox_GetMinVisible Získá minimální počet viditelných položek v rozevíracím seznamu pole se seznamem.
ComboBox_GetText Načte text z ovládacího prvku pole se seznamem.
ComboBox_GetTextLength Získá počet znaků v textu pole se seznamem.
ComboBox_InsertItemData Vloží data položek do seznamu do pole se seznamem v zadaném umístění. Toto makro můžete použít nebo odeslat zprávu CB_INSERTSTRING explicitně.
ComboBox_InsertString Přidá řetězec do seznamu v poli se seznamem v zadaném umístění. Toto makro můžete použít nebo odeslat zprávu CB_INSERTSTRING explicitně.
ComboBox_LimitText Omezí délku textu, který může uživatel zadat do ovládacího prvku pro úpravy pole se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_LIMITTEXT explicitně.
ComboBox_ResetContent Odebere všechny položky ze seznamu a upraví ovládací prvek pole se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_RESETCONTENT explicitně.
ComboBox_SelectItemData Vyhledá seznam v poli se seznamem pro položku, která obsahuje zadaná data položky. Pokud se najde odpovídající položka, vybere se položka. Toto makro můžete použít nebo odeslat zprávu CB_SELECTSTRING explicitně.
ComboBox_SelectString Vyhledá seznam v poli se seznamem pro položku, která začíná znaky v zadaném řetězci. Pokud se najde odpovídající položka, vybere se položka. Toto makro můžete použít nebo odeslat zprávu CB_SELECTSTRING explicitně.
ComboBox_SetCueBannerText Nastaví text banneru s upozorněním, který se zobrazí pro ovládací prvek pro úpravy pole se seznamem.
ComboBox_SetCurSel Nastaví aktuálně vybranou položku v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_SETCURSEL explicitně.
ComboBox_SetExtendedUI Vybere výchozí uživatelské rozhraní (UI) nebo rozšířené uživatelské rozhraní pro pole se seznamem, které má CBS_DROPDOWN nebo styl CBS_DROPDOWNLIST. Toto makro můžete použít nebo odeslat zprávu CB_SETEXTENDEDUI explicitně.
ComboBox_SetItemData Nastaví hodnotu definovanou aplikací přidruženou k zadané položce seznamu v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_SETITEMDATA explicitně.
ComboBox_SetItemHeight Nastaví výšku položek seznamu nebo pole výběru v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_SETITEMHEIGHT explicitně.
ComboBox_SetMinVisible Nastaví minimální počet viditelných položek v rozevíracím seznamu pole se seznamem.
ComboBox_SetText Nastaví text pole se seznamem.
ComboBox_ShowDropdown Zobrazí nebo skryje seznam v poli se seznamem. Toto makro můžete použít nebo odeslat zprávu CB_SHOWDROPDOWN explicitně.

Zprávy

Námět Obsah
CB_ADDSTRING Přidá řetězec do seznamu pole se seznamem. Pokud pole se seznamem nemá styl CBS_SORT, řetězec se přidá na konec seznamu. V opačném případě se řetězec vloží do seznamu a seznam se seřadí.
CB_DELETESTRING Odstraní řetězec v seznamu pole se seznamem.
CB_DIR Přidá jména do seznamu zobrazeného polem se seznamem. Zpráva přidá názvy adresářů a souborů, které odpovídají zadanému řetězci a sadě atributů souboru. CB_DIR může také do seznamu přidat namapovaná písmena jednotek.
CB_FINDSTRING Vyhledá v seznamu pole se seznamem položku začínající znaky v zadaném řetězci.
CB_FINDSTRINGEXACT Najde první řetězec seznamu v poli se seznamem, který odpovídá řetězci zadanému v parametru lParam.
CB_GETCOMBOBOXINFO Získá informace o zadaném poli se seznamem.
CB_GETCOUNT Získá počet položek v seznamu pole se seznamem.
CB_GETCUEBANNER Získá text banneru upozornění zobrazený v ovládacím prvku pro úpravy pole se seznamem. Odešlete tuto zprávu explicitně nebo pomocí makra ComboBox_GetCueBannerText.
CB_GETCURSEL Aplikace odešle CB_GETCURSEL zprávu, která načte index aktuálně vybrané položky( pokud existuje) v seznamu pole se seznamem.
CB_GETDROPPEDCONTROLRECT Aplikace odešle CB_GETDROPPEDCONTROLRECT zprávu, která načte souřadnice obrazovky pole se seznamem v vyřazeném stavu.
CB_GETDROPPEDSTATE Určuje, zda je seznam pole se seznamem vyřazeno.
CB_GETDROPPEDWIDTH Získá minimální povolenou šířku v pixelech seznamu pole se seznamem s CBS_DROPDOWN nebo CBS_DROPDOWNLIST styl.
CB_GETEDITSEL Získá počáteční a koncovou pozici znaku aktuálního výběru v ovládacím prvku pro úpravy pole se seznamem.
CB_GETEXTENDEDUI Určuje, zda pole se seznamem má výchozí uživatelské rozhraní nebo rozšířené uživatelské rozhraní.
CB_GETHORIZONTALEXTENT Získá šířku vpixelch To platí jenom v případě, že seznam obsahuje vodorovný posuvník.
CB_GETITEMDATA Aplikace odešle do pole se seznamem CB_GETITEMDATA zprávu, která načte hodnotu zadanou aplikací přidruženou k zadané položce v poli se seznamem.
CB_GETITEMHEIGHT Určuje výšku položek seznamu nebo pole výběru v poli se seznamem.
CB_GETLBTEXT Získá řetězec ze seznamu pole se seznamem.
CB_GETLBTEXTLEN Získá délku řetězce v seznamu pole se seznamem.
CB_GETLOCALE Získá aktuální národní prostředí pole se seznamem. Národní prostředí slouží k určení správného pořadí řazení zobrazovaného textu pro pole se seznamem s CBS_SORT stylem a textem přidaným pomocí zprávy CB_ADDSTRING.
CB_GETMINVISIBLE Získá minimální počet viditelných položek v rozevíracím seznamu pole se seznamem.
CB_GETTOPINDEX Aplikace odešle CB_GETTOPINDEX zprávu, která načte index založený na nule první viditelné položky v části seznamu pole se seznamem. Zpočátku je položka s indexem 0 v horní části seznamu, ale pokud byl obsah seznamu posunut, může být v horní části jiná položka.
CB_INITSTORAGE Aplikace odešle CB_INITSTORAGE zprávu před přidáním velkého počtu položek do části seznamu pole se seznamem. Tato zpráva přiděluje paměť pro ukládání položek seznamu.
CB_INSERTSTRING Vloží data řetězce nebo položky do seznamu pole se seznamem. Na rozdíl od CB_ADDSTRING zprávy nezpůsobí CB_INSERTSTRING seřazení seznamu se stylem CBS_SORT.
CB_LIMITTEXT Omezí délku textu, který může uživatel zadat do ovládacího prvku pro úpravy pole se seznamem.
CB_RESETCONTENT Odebere všechny položky ze seznamu a upraví ovládací prvek pole se seznamem.
CB_SELECTSTRING Vyhledá v seznamu pole se seznamem položku, která začíná znaky v zadaném řetězci. Pokud se najde odpovídající položka, vybere se a zkopíruje do ovládacího prvku pro úpravy.
CB_SETCUEBANNER Nastaví text banneru s upozorněním, který se zobrazí pro ovládací prvek pro úpravy pole se seznamem.
CB_SETCURSEL Aplikace odešle CB_SETCURSEL zprávu, která vybere řetězec v seznamu pole se seznamem. V případě potřeby seznam posune řetězec do zobrazení. Text v ovládacím prvku upravit pole se seznamem se změní tak, aby odrážel nový výběr, a veškerý předchozí výběr v seznamu se odebere.
CB_SETDROPPEDWIDTH Aplikace odešle CB_SETDROPPEDWIDTH zprávu, která nastaví maximální povolenou šířku v pixelech v seznamu pole se seznamem CBS_DROPDOWN nebo styl CBS_DROPDOWNLIST.
CB_SETEDITSEL Aplikace odešle CB_SETEDITSEL zprávu, která vybere znaky v ovládacím prvku pro úpravy pole se seznamem.
CB_SETEXTENDEDUI Aplikace odešle CB_SETEXTENDEDUI zprávu, která vybere výchozí uživatelské rozhraní nebo rozšířené uživatelské rozhraní pro pole se seznamem, které má styl CBS_DROPDOWN nebo CBS_DROPDOWNLIST.
CB_SETHORIZONTALEXTENT Aplikace odešle CB_SETHORIZONTALEXTENT zprávu, aby nastavila šířku v pixelech, o kterou se dá seznam posunout vodorovně (posuvná šířka). Pokud je šířka seznamu menší než tato hodnota, vodorovný posuvník vodorovně posune položky v seznamu. Pokud je šířka seznamu rovna nebo větší než tato hodnota, vodorovný posuvník je skrytý nebo pokud má pole se seznamem CBS_DISABLENOSCROLL styl zakázané.
CB_SETITEMDATA Aplikace odešle CB_SETITEMDATA zprávu, která nastaví hodnotu přidruženou k zadané položce v poli se seznamem.
CB_SETITEMHEIGHT Aplikace odešle CB_SETITEMHEIGHT zprávu, která nastaví výšku položek seznamu nebo pole výběru v poli se seznamem.
CB_SETLOCALE Aplikace odešle CB_SETLOCALE zprávu, která nastaví aktuální národní prostředí pole se seznamem. Pokud pole se seznamem obsahuje styl CBS_SORT a řetězce jsou přidány pomocí CB_ADDSTRING, národní prostředí pole se seznamem ovlivňuje způsob řazení položek seznamu.
CB_SETMINVISIBLE Aplikace odešle CB_SETMINVISIBLE zprávu, která nastaví minimální počet viditelných položek v rozevíracím seznamu pole se seznamem.
CB_SETTOPINDEX Aplikace odešle CB_SETTOPINDEX zprávu, aby se zajistilo, že je určitá položka viditelná v seznamu pole se seznamem. Systém posune obsah seznamu tak, aby se v horní části seznamu zobrazila zadaná položka nebo byl dosažen maximální rozsah posouvání.
CB_SHOWDROPDOWN Aplikace odešle zprávu CB_SHOWDROPDOWN k zobrazení nebo skrytí seznamu pole se seznamem, které má CBS_DROPDOWN nebo styl CBS_DROPDOWNLIST.

Upozornění

Námět Obsah
CBN_CLOSEUP Po zavření seznamu pole se seznamem se odešle kód oznámení CBN_CLOSEUP. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_DBLCLK Kód oznámení CBN_DBLCLK se odešle, když uživatel dvakrát klikne na řetězec v seznamu pole se seznamem. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_DROPDOWN Kód oznámení CBN_DROPDOWN se odešle, když se bude zobrazovat seznam pole se seznamem. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_EDITCHANGE Kód oznámení CBN_EDITCHANGE se odešle poté, co uživatel provedl akci, která mohla změnit text v části ovládacího prvku pro úpravy pole se seznamem. Na rozdíl od kódu oznámení CBN_EDITUPDATE se tento kód oznámení odešle po aktualizaci obrazovky systémem. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_EDITUPDATE Kód oznámení CBN_EDITUPDATE se odešle, když se chystá zobrazit změněný text v ovládací části ovládacího prvku pro úpravy pole se seznamem. Tento kód oznámení se odešle poté, co ovládací prvek naformátuje text, ale před zobrazením textu. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_ERRSPACE Kód oznámení CBN_ERRSPACE se odešle, když pole se seznamem nemůže přidělit dostatek paměti pro splnění konkrétního požadavku. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_KILLFOCUS Kód oznámení CBN_KILLFOCUS se odešle, když pole se seznamem ztratí fokus klávesnice. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_SELCHANGE Kód oznámení CBN_SELCHANGE se odešle, když uživatel změní aktuální výběr v seznamu pole se seznamem. Uživatel může výběr změnit kliknutím do seznamu nebo pomocí šipkových kláves. Nadřazené okno pole se seznamem obdrží toto oznámení ve formě zprávy WM_COMMAND s CBN_SELCHANGE ve slově s vysokým pořadím parametru wParam.
CBN_SELENDCANCEL Kód oznámení CBN_SELENDCANCEL se odešle, když uživatel vybere položku, ale pak vybere jiný ovládací prvek nebo zavře dialogové okno. Indikuje, že je počáteční výběr uživatele ignorován. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_SELENDOK Kód oznámení CBN_SELENDOK se odešle, když uživatel vybere položku seznamu nebo vybere položku a pak seznam zavře. Označuje, že se má zpracovat výběr uživatele. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
CBN_SETFOCUS Kód oznámení CBN_SETFOCUS se odešle, když pole se seznamem obdrží fokus klávesnice. Nadřazené okno pole se seznamem obdrží tento kód oznámení prostřednictvím WM_COMMAND zprávy.
WM_COMPAREITEM Systém odešle WM_COMPAREITEM zprávu, která určí relativní pozici nové položky v seřazeném seznamu pole se seznamem nebo seznamem nakresleného vlastníkem. Pokaždé, když aplikace přidá novou položku, systém odešle tuto zprávu vlastníkovi pole se seznamem nebo seznamem vytvořeným pomocí CBS_SORT nebo stylu LBS_SORT.
WM_DRAWITEM Zpráva WM_DRAWITEM se odešle do nadřazeného okna tlačítka nakresleného vlastníkem, pole se seznamem, seznamu nebo nabídky, pokud se změnil vizuální aspekt tlačítka, pole se seznamem, seznam nebo nabídka.
WM_MEASUREITEM Zpráva WM_MEASUREITEM se odešle do okna vlastníka pole se seznamem, seznamu, ovládacího prvku zobrazení seznamu nebo položky nabídky při vytvoření ovládacího prvku nebo nabídky.

Struktury

Námět Obsah
COMBOBOXINFO Obsahuje informace o stavu pole se seznamem.
COMPAREITEMSTRUCT Poskytuje identifikátory a data zadaná aplikací pro dvě položky v seřazeném seznamu nebo poli se seznamem nakresleném vlastníkem.
DRAWITEMSTRUCT Poskytuje nezbytné informace o okně vlastníka k určení způsobu malování ovládacího prvku nebo položky nabídky nakreslený vlastníkem. Okno vlastníka ovládacího prvku nebo položky nabídky obdrží ukazatel na tuto strukturu jako lParam parametr zprávy WM_DRAWITEM.
MEASUREITEMSTRUCT Informuje systém o rozměrech ovládacího prvku nakresleného vlastníkem nebo položky nabídky. To umožňuje systému správně zpracovat interakci uživatele s ovládacím prvku.

Konstanty

Námět Obsah
styly polí se seznamem Chcete-li vytvořit pole se seznamem pomocí funkce CreateWindow nebo CreateWindowEx, zadejte třídu COMBOBOX, odpovídající konstanty stylu okna a kombinaci následujících stylů pole se seznamem.