Share via


CComboBoxEx-klasse

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

CObject

CCmdTarget

CWnd

CComboBox

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:

  1. Roep CComboBoxEx aan om een CComboBoxEx object te maken.

  2. Roep deze lidfunctie aan, waarmee de uitgebreide Windows-keuzelijst met invoervak wordt gemaakt en aan het CComboBoxEx object 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