Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Breidt het besturingselement met invoervak uit door ondersteuning te bieden voor afbeeldingslijsten.
Syntaxis
class CComboBoxEx : public CComboBox
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CComboBoxEx::CComboBoxEx | Maakt een CComboBoxEx object. |
Openbare methoden
| Naam | Description |
|---|---|
| CComboBoxEx::Create | Hiermee maakt u de keuzelijst met invoervak en koppelt u deze aan het CComboBoxEx object. |
| CComboBoxEx::CreateEx | Hiermee maakt u een keuzelijst met invoervak met de opgegeven uitgebreide Stijlen van Windows en koppelt u deze aan een ComboBoxEx object. |
| CComboBoxEx::D eleteItem | Hiermee verwijdert u een item uit een ComboBoxEx besturingselement. |
| CComboBoxEx::GetComboBoxCtrl | Hiermee wordt een aanwijzer opgehaald naar het besturingselement voor de keuzelijst met invoervak onderliggend item. |
| CComboBoxEx::GetEditCtrl | Hiermee haalt u de ingang op naar het besturingselementgedeelte van een ComboBoxEx besturingselement. |
| CComboBoxEx::GetExtendedStyle | Hiermee worden de uitgebreide stijlen opgehaald die worden gebruikt voor een ComboBoxEx besturingselement. |
| CComboBoxEx::GetImageList | Hiermee wordt een aanwijzer opgehaald naar de lijst met afbeeldingen die is toegewezen aan een ComboBoxEx besturingselement. |
| CComboBoxEx::GetItem | Hiermee haalt u itemgegevens voor een bepaald ComboBoxEx item op. |
| CComboBoxEx::HasEditChanged | Bepaalt of de gebruiker de inhoud van het ComboBoxEx besturingselement bewerken heeft gewijzigd door te typen. |
| CComboBoxEx::InsertItem | Hiermee voegt u een nieuw item in een ComboBoxEx besturingselement in. |
| CComboBoxEx::SetExtendedStyle | Hiermee stelt u uitgebreide stijlen in een ComboBoxEx besturingselement in. |
| CComboBoxEx::SetImageList | Hiermee stelt u een lijst met afbeeldingen in voor een ComboBoxEx besturingselement. |
| CComboBoxEx::SetItem | Hiermee stelt u de kenmerken voor een item in een ComboBoxEx besturingselement in. |
| CComboBoxEx::SetWindowTheme | Hiermee stelt u de visuele stijl van het besturingselement voor de uitgebreide keuzelijst met invoervak in. |
Opmerkingen
Als u CComboBoxEx besturingselementen voor keuzelijsten met invoervak wilt maken, hoeft u uw eigen tekencode voor afbeeldingen niet meer te implementeren. Gebruik in plaats daarvan CComboBoxEx om toegang te krijgen tot afbeeldingen uit een lijst met afbeeldingen.
Ondersteuning voor afbeeldingenlijsten
In een standaard keuzelijst met invoervak is de eigenaar van de keuzelijst met invoervak verantwoordelijk voor het tekenen van een afbeelding door de keuzelijst met invoervak te maken als een eigenaar-tekenbesturingselement. Wanneer u deze gebruikt CComboBoxEx, hoeft u de tekenstijlen niet in te stellen CBS_OWNERDRAWFIXED en CBS_HASSTRINGS omdat deze impliciet zijn. Anders moet u code schrijven om tekenbewerkingen uit te voeren. Een CComboBoxEx besturingselement ondersteunt maximaal drie afbeeldingen per item: één voor een geselecteerde status, één voor een niet-geselecteerde status en één voor een overlayafbeelding.
Stijlen
CComboBoxEx ondersteunt de stijlen CBS_SIMPLE, CBS_DROPDOWN, CBS_DROPDOWNLIST en WS_CHILD. Alle andere stijlen die worden doorgegeven wanneer u het venster maakt, worden genegeerd door het besturingselement. Nadat het venster is gemaakt, kunt u andere stijlen voor keuzelijsten met invoervak opgeven door de CComboBoxEx lidfunctie SetExtendedStyle aan te roepen. Met deze stijlen kunt u het volgende doen:
Stel zoekopdrachten in tekenreeksen in de lijst in op hoofdlettergevoelig.
Maak een besturingselement voor keuzelijsten met invoervak dat gebruikmaakt van de slashtekens ('/'), backslashtekens ('\'), en punttekens ('.') als scheidingstekens voor woorden. Hierdoor kunnen gebruikers van woord naar woord springen met behulp van de sneltoets Ctrl+pijl.
Stel het besturingselement keuzelijst met invoervak in om een afbeelding weer te geven of niet weer te geven. Als er geen afbeelding wordt weergegeven, kan de keuzelijst met invoervak de tekst inspringing verwijderen die geschikt is voor een afbeelding.
Maak een smal besturingselement voor een keuzelijst met invoervak, inclusief de grootte, zodat deze de bredere keuzelijst met invoervak clips.
Deze stijlvlagmen worden verder beschreven in CComboBoxEx gebruiken.
Kenmerken van itemretentie en terugbelitem
Itemgegevens, zoals indexen voor items en afbeeldingen, inspringingswaarden en tekenreeksen, worden opgeslagen in de Win32-structuur COMBOBOXEXITEM, zoals beschreven in de Windows SDK. De structuur bevat ook leden die overeenkomen met callback-vlaggen.
Zie CComboBoxEx gebruiken voor een gedetailleerde, conceptuele discussie.
Overnamehiërarchie
CComboBoxEx
Requirements
Koptekst: afxcmn.h
CComboBoxEx::CComboBoxEx
Roep deze lidfunctie aan om een CComboBoxEx object te maken.
CComboBoxEx();
CComboBoxEx::Create
Hiermee maakt u de keuzelijst met invoervak en koppelt u deze aan het CComboBoxEx object.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameterwaarden
dwStyle-
Hiermee geeft u de combinatie van keuzelijststijlen met invoervak op die zijn toegepast op de keuzelijst met invoervak. Zie Opmerkingen hieronder voor meer informatie over stijlen.
Rect
Een verwijzing naar een CRect-object of RECT-structuur , de positie en grootte van de keuzelijst met invoervak.
pParentWnd
Een aanwijzer naar een CWnd-object dat het bovenliggende venster van de keuzelijst met invoervak is (meestal een CDialog). Deze mag niet NULL zijn.
nID-
Hiermee geeft u de besturingselement-id van de keuzelijst met invoervak op.
Retourwaarde
Niet-nul als het object is gemaakt; anders 0.
Opmerkingen
Maak een CComboBoxEx object in twee stappen:
Roep CComboBoxEx aan om een
CComboBoxExobject te maken.Roep deze lidfunctie aan, waarmee de uitgebreide Windows-keuzelijst met invoervak wordt gemaakt en aan het
CComboBoxExobject wordt gekoppeld.
Wanneer u belt Create, initialiseert MFC de algemene besturingselementen.
Wanneer u de keuzelijst met invoervak maakt, kunt u een of alle volgende stijlen voor keuzelijsten met invoervak opgeven:
CBS_SIMPLE
CBS_DROPDOWN
CBS_DROPDOWNLIST
CBS_AUTOHSCROLL
WS_CHILD
Alle andere stijlen die worden doorgegeven wanneer u het venster maakt, worden genegeerd. Het ComboBoxEx besturingselement ondersteunt ook uitgebreide stijlen die extra functies bieden. Deze stijlen worden beschreven in uitgebreide stijlen voor ComboBoxEx-besturingselementen in de Windows SDK. Stel deze stijlen in door SetExtendedStyle aan te roepen.
Als u uitgebreide vensterstijlen wilt gebruiken met uw besturingselement, roept u CreateEx aan in plaats van Create.
CComboBoxEx::CreateEx
Roep deze functie aan om een uitgebreid besturingselement voor keuzelijsten met invoervak (een onderliggend venster) te maken en deze aan het CComboBoxEx object te koppelen.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameterwaarden
dwExStyle
Hiermee geeft u de uitgebreide stijl van het besturingselement dat wordt gemaakt. Zie de dwExStyle-parameter voor CreateWindowEx in de Windows SDK voor een lijst met uitgebreide Windows-stijlen.
dwStyle-
De stijl van het besturingselement met invoervak. Zie Maken voor een lijst met stijlen.
Rect
Een verwijzing naar een RECT-structuur die de grootte en positie van het venster beschrijft dat moet worden gemaakt, in clientcoördinaten van pParentWnd.
pParentWnd
Een aanwijzer naar het venster dat het bovenliggende besturingselement is.
nID-
De id van het onderliggende venster van het besturingselement.
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Gebruik CreateEx in plaats van Create uitgebreide Windows-stijlen toe te passen, die zijn opgegeven door het voorwoord van de uitgebreide stijl van Windows WS_EX_.
CreateEx maakt het besturingselement met de uitgebreide Windows-stijlen die zijn opgegeven door dwExStyle. U moet uitgebreide stijlen instellen die specifiek zijn voor een uitgebreide keuzelijst met invoervak met SetExtendedStyle. U kunt CreateEx bijvoorbeeld stijlen zoals WS_EX_CONTEXTHELP instellen, maar gebruiken SetExtendedStyle om stijlen zoals CBES_EX_CASESENSITIVE in te stellen. Zie de stijlen die worden beschreven in het onderwerp ComboBoxEx Control Extended Styles in de Windows SDK voor meer informatie.
CComboBoxEx::D eleteItem
Hiermee verwijdert u een item uit een ComboBoxEx besturingselement.
int DeleteItem(int iIndex);
Parameterwaarden
iIndex
Op nul gebaseerde index van het item dat moet worden verwijderd.
Retourwaarde
Het aantal resterende items in het besturingselement. Als iIndex ongeldig is, retourneert de functie CB_ERR.
Opmerkingen
Deze lidfunctie implementeert de functionaliteit van het bericht CBEM_DELETEITEM, zoals beschreven in de Windows SDK. Wanneer u DeleteItem aanroept, wordt een WM_NOTIFY bericht met CBEN_DELETEITEM melding verzonden naar het bovenliggende venster.
CComboBoxEx::GetComboBoxCtrl
Roep deze lidfunctie aan om een aanwijzer op te halen naar een besturingselement met invoervak in een CComboBoxEx object.
CComboBox* GetComboBoxCtrl();
Retourwaarde
Een aanwijzer naar een CComboBox object.
Opmerkingen
Het CComboBoxEx besturingselement bestaat uit een bovenliggend venster, dat een CComboBoxinkapselt.
Het CComboBox object waarnaar wordt verwezen door de retourwaarde is een tijdelijk object en wordt vernietigd tijdens de volgende niet-actieve verwerkingstijd.
CComboBoxEx::GetEditCtrl
Roep deze lidfunctie aan om een aanwijzer op te halen naar het besturingselement bewerken voor een keuzelijst met invoervak.
CEdit* GetEditCtrl();
Retourwaarde
Een aanwijzer naar een CEdit-object .
Opmerkingen
Een CComboBoxEx besturingselement maakt gebruik van een invoervak wanneer het wordt gemaakt met de stijl CBS_DROPDOWN.
Het CEdit object waarnaar wordt verwezen door de retourwaarde is een tijdelijk object en wordt vernietigd tijdens de volgende niet-actieve verwerkingstijd.
CComboBoxEx::GetExtendedStyle
Roep deze lidfunctie aan om de uitgebreide stijlen op te halen die worden gebruikt voor een CComboBoxEx besturingselement.
DWORD GetExtendedStyle() const;
Retourwaarde
De DWORD-waarde die de uitgebreide stijlen bevat die worden gebruikt voor het besturingselement keuzelijst met invoervak.
Opmerkingen
Zie Uitgebreide stijlen voor ComboBoxEx-besturingselementen in de Windows SDK voor meer informatie over deze stijlen.
CComboBoxEx::GetImageList
Roep deze lidfunctie aan om een aanwijzer op te halen naar de lijst met afbeeldingen die door een CComboBoxEx besturingselement wordt gebruikt.
CImageList* GetImageList() const;
Retourwaarde
Een aanwijzer naar een CImageList-object . Als dit mislukt, retourneert deze lidfunctie NULL.
Opmerkingen
Het CImageList object waarnaar wordt verwezen door de retourwaarde is een tijdelijk object en wordt vernietigd tijdens de volgende niet-actieve verwerkingstijd.
CComboBoxEx::GetItem
Hiermee haalt u itemgegevens voor een bepaald ComboBoxEx item op.
BOOL GetItem(COMBOBOXEXITEM* pCBItem);
Parameterwaarden
pCBItem
Een aanwijzer naar een STRUCTUUR COMBOBOXEXITEM die de itemgegevens ontvangt.
Retourwaarde
Niet-nul als de bewerking is geslaagd; anders 0.
Opmerkingen
Deze lidfunctie implementeert de functionaliteit van het bericht CBEM_GETITEM, zoals beschreven in de Windows SDK.
CComboBoxEx::HasEditChanged
Bepaalt of de gebruiker de inhoud van het ComboBoxEx besturingselement bewerken heeft gewijzigd door te typen.
BOOL HasEditChanged();
Retourwaarde
Niet-nul als de gebruiker het invoervak van het besturingselement heeft getypt; anders 0.
Opmerkingen
Deze lidfunctie implementeert de functionaliteit van het bericht CBEM_HASEDITCHANGED, zoals beschreven in de Windows SDK.
CComboBoxEx::InsertItem
Hiermee voegt u een nieuw item in een ComboBoxEx besturingselement in.
int InsertItem(const COMBOBOXEXITEM* pCBItem);
Parameterwaarden
pCBItem
Een aanwijzer naar een STRUCTUUR COMBOBOXEXITEM die de itemgegevens ontvangt. Deze structuur bevat callback-vlagwaarden voor het item.
Retourwaarde
De index waarop het nieuwe item is ingevoegd, indien geslaagd; anders -1.
Opmerkingen
Wanneer u belt InsertItem, wordt een WM_NOTIFY bericht met CBEN_INSERTITEM melding verzonden naar het bovenliggende venster.
CComboBoxEx::SetExtendedStyle
Roep deze lidfunctie aan om de uitgebreide stijlen in te stellen die worden gebruikt voor een uitgebreide besturingselement voor een keuzelijst met invoervak.
DWORD SetExtendedStyle(
DWORD dwExMask,
DWORD dwExStyles);
Parameterwaarden
dwExMask
Een DWORD-waarde die aangeeft welke stijlen in dwExStyles moeten worden beïnvloed. Alleen de uitgebreide stijlen in dwExMask worden gewijzigd. Alle andere stijlen worden behouden zoals is. Als deze parameter nul is, worden alle stijlen in dwExStyles beïnvloed.
dwExStyles
Een DWORD-waarde die de uitgebreide stijlen voor de keuzelijst met invoervak bevat die voor het besturingselement moeten worden ingesteld.
Retourwaarde
Een DWORD-waarde die de uitgebreide stijlen bevat die eerder voor het besturingselement zijn gebruikt.
Opmerkingen
Zie Uitgebreide stijlen voor ComboBoxEx-besturingselementen in de Windows SDK voor meer informatie over deze stijlen.
Als u een uitgebreid besturingselement met invoervak met uitgebreide windows-stijlen wilt maken, gebruikt u CreateEx.
CComboBoxEx::SetImageList
Hiermee stelt u een lijst met afbeeldingen in voor een ComboBoxEx besturingselement.
CImageList* SetImageList(CImageList* pImageList);
Parameterwaarden
pImageList
Een aanwijzer naar een CImageList object met de afbeeldingen dat met het CComboBoxEx besturingselement moet worden gebruikt.
Retourwaarde
Een aanwijzer naar een CImageList-object met de afbeeldingen die eerder door het CComboBoxEx besturingselement zijn gebruikt. NULL als er eerder geen installatiekopieënlijst is ingesteld.
Opmerkingen
Deze lidfunctie implementeert de functionaliteit van het bericht CBEM_SETIMAGELIST, zoals beschreven in de Windows SDK. Als u de hoogte van het standaardbesturingselement voor bewerken wijzigt, roept u de Win32-functie SetWindowPos aan om het formaat van uw besturingselement te wijzigen nadat u het aanroept SetImageListof wordt het niet correct weergegeven.
Het CImageList object waarnaar wordt verwezen door de retourwaarde is een tijdelijk object en wordt vernietigd tijdens de volgende niet-actieve verwerkingstijd.
CComboBoxEx::SetItem
Hiermee stelt u de kenmerken voor een item in een ComboBoxEx besturingselement in.
BOOL SetItem(const COMBOBOXEXITEM* pCBItem);
Parameterwaarden
pCBItem
Een aanwijzer naar een STRUCTUUR COMBOBOXEXITEM die de itemgegevens ontvangt.
Retourwaarde
Niet-nul als de bewerking is geslaagd; anders 0.
Opmerkingen
Deze lidfunctie implementeert de functionaliteit van het bericht CBEM_SETITEM, zoals beschreven in de Windows SDK.
CComboBoxEx::SetWindowTheme
Hiermee stelt u de visuele stijl van het besturingselement voor de uitgebreide keuzelijst met invoervak in.
HRESULT SetWindowTheme(LPCWSTR pszSubAppName);
Parameterwaarden
pszSubAppName
Een aanwijzer naar een Unicode-tekenreeks die de visuele stijl van de uitgebreide keuzelijst met invoervak bevat die u wilt instellen.
Retourwaarde
De retourwaarde wordt niet gebruikt.
Opmerkingen
Deze lidfunctie emuleert de functionaliteit van het CBEM_SETWINDOWTHEME bericht, zoals beschreven in de Windows SDK.
Zie ook
MFC-voorbeeld MFCIE
CComboBox-klasse
Hiërarchiegrafiek
CComboBox-klasse