Třída CComboBox
Poskytuje funkce systému Windows se seznamem.
class CComboBox : public CWnd
Členy
Veřejné konstruktory
Název |
Description |
---|---|
Konstrukce CComboBox objektu. |
Veřejné metody
Název |
Description |
---|---|
Přidá řetězec na konec seznamu v rozevíracím seznamu pole se seznamem nebo seřazené v poloze pro seznamy se CBS_SORT styl. |
|
(Vymaže) odstraní aktuální výběr, pokud do ovládacího prvku pro úpravy. |
|
Volat rámci určit relativní pozici nové položky seznamu seřazené kreslené vlastníka seznamem. |
|
Zkopíruje aktuální výběr do schránky v případě, CF_TEXT formátu. |
|
Vytvoří pole se seznamem a připojí jej CComboBox objektu. |
|
(Kusy) odstraní aktuální výběr, pokud žádné úpravy v řízení a zkopíruje odstraněný text do schránky v CF_TEXT formátu. |
|
Rámci vyvolána při odstranění položky seznamu z nakreslena vlastníka seznamem. |
|
Odstraní řetězec v seznamu pole se seznamem. |
|
Přidá seznam názvů souborů seznamu pole se seznamem. |
|
Volat framework při vizuální hledisko změní vlastníka nakreslené se seznamem. |
|
Najde první řetězec, který obsahuje zadanou předponu v seznamu, poli se seznamem. |
|
Najde první řetězce pole seznamu (v poli se seznamem), která odpovídá zadaný řetězec. |
|
Načte informace o CComboBox objektu. |
|
Zjišťuje počet položek v seznamu, poli se seznamem. |
|
Zobrazený text startovací získá pro ovládací prvek pole se seznamem. |
|
Načte index aktuálně vybrané položky v seznamu, poli se seznamem Pokud. |
|
Načte obrazovkových souřadnicích rozevíracího seznamu viditelné (zamítnuté dolů) rozevíracím seznamem. |
|
Určuje, zda seznam rozevíracím seznamem je viditelná (rozevřený). |
|
Získá minimální povolená šířka rozevíracího seznamu části pole se seznamem. |
|
Získá počáteční a koncové polohy znaku aktuální výběr v textovém poli se seznamem. |
|
Určuje, zda pole se seznamem obsahuje výchozí uživatelské rozhraní nebo Rozšířené uživatelské rozhraní. |
|
Vrátí šířku v pixelech, že je vodorovně posunout část seznamu pole se seznamem. |
|
Načítá hodnotu 32bitové aplikace dodané přidružené položky zadané pole se seznamem. |
|
Načte poskytované aplikací 32bitové ukazatel, který je k položce určené pole se seznamem. |
|
Výška položek seznamu v poli se seznamem načte. |
|
Načte řetězec v seznamu pole se seznamem. |
|
V seznamu, poli se seznamem získává délku řetězce. |
|
Načte identifikátor národního prostředí pro pole se seznamem. |
|
Získá minimální počet viditelných položek v rozevíracím seznamu aktuálním seznamem. |
|
Vrátí index první viditelné položky v rozevíracím seznamu části pole se seznamem. |
|
Preallocates bloky paměti pro položky a řetězce v části seznamu pole se seznamem. |
|
Řetězec se vloží do seznamu, poli se seznamem. |
|
Omezení délky textu, které lze zadat do textového pole se seznamem. |
|
Volat framework při vytvoření nakreslena vlastníka seznamem určit rozměry pole se seznamem. |
|
Vloží data ze schránky do ovládacího prvku pro úpravy na aktuální pozici kurzoru.Vložena data pouze v případě, že schránka obsahuje data v CF_TEXT formátu. |
|
Odebere všechny položky ze seznamu pole a textové pole se seznamem. |
|
Vyhledá řetězec v seznamu, poli se seznamem a pokud je řetězec nalezen, vybere řetězec v poli se seznamem a zkopíruje řetězec do ovládacího prvku pro úpravy. |
|
Nastaví startovací text, který se zobrazí pro ovládací prvek pole se seznamem. |
|
Vybere řetězec v seznamu, poli se seznamem. |
|
Nastaví minimální povolená šířka rozevíracího seznamu části pole se seznamem. |
|
Vybere znaky v textovém poli se seznamem. |
|
Vybere výchozí uživatelské rozhraní nebo Rozšířené uživatelské rozhraní pro pole se seznamem, který má CBS_DROPDOWN nebo CBS_DROPDOWNLIST styl. |
|
Nastaví šířku v pixelech, že je vodorovně posunout část seznamu pole se seznamem. |
|
Nastaví hodnotu 32 bit spojené s danou položku v poli se seznamem. |
|
Nastaví ukazatel 32 bit spojené s danou položku v poli se seznamem. |
|
Nastaví výšku položek seznamu v poli se seznamem nebo výška části pole se seznamem ovládací upravit (nebo statický text). |
|
Nastaví identifikátor národního prostředí pro pole se seznamem. |
|
Nastaví minimální počet viditelných položek v rozevíracím seznamu aktuálním seznamem. |
|
Říká se seznamem zobrazení položky zadaného indexu v horní část pole seznamu. |
|
Zobrazí nebo skryje seznam seznamem, který má CBS_DROPDOWN nebo CBS_DROPDOWNLIST styl. |
Poznámky
Pole se seznamem obsahuje kombinované s statické ovládacího nebo ovládacího prvku pro úpravy pole se seznamem.Pole seznamu části ovládacího prvku může být zobrazen vždy nebo mohou pouze rozevírací po klepnutí na šipku dolů vedle ovládacího prvku.
Aktuálně vybrané položky (pokud existuje) v seznamu se zobrazí v statickému nebo ovládacího prvku.Navíc pokud styl rozevírací seznam pole se seznamem, uživatele, můžete zadat počáteční znak jednu z položek v seznamu a seznamu, pokud je viditelná, zvýrazní další položky s počáteční znak.
Následující tabulka porovnává tři pole se seznamem styly.
Styl |
Pokud je zobrazen seznam |
Ovládací prvek statické nebo upravit? |
---|---|---|
Jednoduché |
Vždy |
Upravit |
Rozevírací |
Když rozevřený |
Upravit |
Rozevírací seznam |
Když rozevřený |
Statické |
Můžete vytvořit CComboBox objektu z šablony dialogové okno nebo přímo v kódu.V obou případech první volání konstruktoru CComboBox sestavení CComboBox objektu; Zavolejte vytvořit členské funkce vytvoření ovládacího prvku a připojit ji k CComboBox objektu.
Pokud chcete Windows oznámení zprávami seznamem jeho nadřazeným (obvykle Třída odvozená od CDialog ), přidat funkci mapy zprávy vstup a zpracování zpráv členských nadřazené třídy pro každou zprávu.
Každá položka mapování zprávy má následující formát:
ON_Notification(id,memberFxn)
kde id Určuje ID podřízené okno ovládacího prvku pole se seznamem odesílání oznámení a memberFxn je název nadřazené funkce člena napsané zpracovat oznámení.
Nadřazené funkce prototypu je následující:
afx_msgvoidmemberFxn**();**
Pořadí zašle oznámení určitých nelze předpovědět.Zejména CBN_SELCHANGE oznámení může dojít před nebo po CBN_CLOSEUP oznámení.
Potenciální položky zpráva mapy jsou následující:
ON_CBN_CLOSEUP (Windows 3.1 nebo novější.) Seznamu pole se seznamem zavřel.Toto oznámení není odesláno pole se seznamem, který má CBS_SIMPLE styl.
ON_CBN_DBLCLK uživatel poklepe řetězec v seznamu, poli se seznamem.Toto oznámení odesílána pouze pro pole se seznamem CBS_SIMPLE styl.Pro pole se seznamem CBS_DROPDOWN nebo CBS_DROPDOWNLIST styl, poklepání nemůže dojít, protože jediným klepnutím skryje seznam.
ON_CBN_DROPDOWN seznamu, poli se seznamem je rozevírací (viditelná).Toto oznámení může dojít pouze pro pole se seznamem CBS_DROPDOWN nebo CBS_DROPDOWNLIST styl.
ON_CBN_EDITCHANGE uživatel přijal akci, která pravděpodobně změněn text v části textové pole se seznamem.Na rozdíl od CBN_EDITUPDATE , tato zpráva je odeslána zpráva po obrazovce aktualizací systému Windows.Není odeslána, pokud je pole se seznamem CBS_DROPDOWNLIST styl.
ON_CBN_EDITUPDATE část textové pole se seznamem je zobrazit změněný text.Toto oznámení je odeslána po ovládací prvek má formátovaný text, ale zobrazí text.Není odeslána, pokud je pole se seznamem CBS_DROPDOWNLIST styl.
ON_CBN_ERRSPACE pole se seznamem nelze přidělit dostatek paměti pro splňovat zvláštní žádost.
ON_CBN_SELENDCANCEL (Windows 3.1 nebo novější.) Označuje, že by měl být zrušen výběr uživatele.Uživatel klepne na položku a pak klepne na jiné okno nebo skrýt seznam pole se seznamem ovládací prvek.Toto oznámení je odeslána před CBN_CLOSEUP oznámení označíte, že výběr uživatele, budou ignorovány.CBN_SELENDCANCEL nebo CBN_SELENDOK je odesláno oznámení i CBN_CLOSEUP není odesláno oznámení (jako u pole se seznamem CBS_SIMPLE styl).
ON_CBN_SELENDOK uživatel vybere položku a stiskne klávesu ENTER nebo klepne na tlačítko šipka dolů skrýt pole seznamu, poli se seznamem.Toto oznámení je odeslána před CBN_CLOSEUP zpráva označující, že výběr uživatele by měly být považovány za platné.CBN_SELENDCANCEL nebo CBN_SELENDOK je odesláno oznámení i CBN_CLOSEUP není odesláno oznámení (jako u pole se seznamem CBS_SIMPLE styl).
ON_CBN_KILLFOCUS pole se seznamem je ztráta vstupního fokusu.
ON_CBN_SELCHANGE výběr v seznamu, poli se seznamem je změnit z uživatel klepnutím v rozevíracím seznamu nebo změně výběru pomocí kláves se šipkami.Při zpracování této zprávy, text v textovém poli se seznamem lze načíst pouze prostřednictvím GetLBText nebo jiné podobné funkce.GetWindowTextnelze použít.
ON_CBN_SETFOCUS pole se seznamem přijímá vstupní fokus.
Pokud vytvoříte CComboBox objektu v rámci dialogového (prostřednictvím dialogového okna prostředek) CComboBox objekt zničen automaticky při zavření dialogového okna.
Pokud vložíte CComboBox objektu v jiném okně objekt není nutné zničit.Pokud vytvoříte CComboBox v zásobníku, objekt je automaticky zničen.Pokud vytvoříte CComboBox haldy pomocí objektu nové funkci, musíte zavolat Odstranit objektu po zničení seznamem Windows ji zničit.
Poznámka: Pokud chcete zpracovat WM_KEYDOWN a WM_CHAR zprávy, budete muset podtřídy seznamu upravit a ovládací prvky seznam, odvození třídy z CEdit a CListBox , a přidat odvozené třídy obslužné rutiny pro tyto zprávy.Další informace naleznete v https://support.microsoft.com/default.aspx?scid=kb;en-us;Q174667 a CWnd::SubclassWindow.
Hierarchii dědičnosti
CComboBox
Požadavky
Záhlaví: afxwin.h