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.
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. |
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. |
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ě. |
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. |
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. |
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. |
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. |