#pragma once class CXuiControl4JComboBox : public CXuiComboBoxImpl { public: // Information for one list item. typedef struct _LIST_ITEM_INFO { LPCWSTR pwszText; LPCWSTR pwszImage; HXUIBRUSH hXuiBrush; BOOL fChecked; BOOL fEnabled; } LIST_ITEM_INFO; // List data. typedef struct _tagListData { int nItems; LIST_ITEM_INFO* pItems; } LIST_DATA; LIST_DATA m_ListData; XUI_IMPLEMENT_CLASS(CXuiControl4JComboBox, L"CXuiControl4JComboBox", XUI_CLASS_COMBOBOX); void SetData(_LIST_ITEM_INFO* pItems, int iCount); int GetSelectedIndex(); protected: XUI_BEGIN_MSG_MAP() XUI_ON_XM_INIT(OnInit) XUI_ON_XM_GET_SOURCE_TEXT(OnGetSourceDataText) XUI_ON_XM_GET_ITEMCOUNT_ALL(OnGetItemCountAll) XUI_ON_XM_GET_SOURCE_IMAGE(OnGetSourceDataImage) XUI_ON_XM_GET_ITEMENABLE(OnGetItemEnable) XUI_ON_XM_NOTIFY_PRESS_EX(OnNotifyPressEx) XUI_END_MSG_MAP() HRESULT OnInit(XUIMessageInit* pInitData, BOOL& bHandled); HRESULT OnGetSourceDataText(XUIMessageGetSourceText* pGetSourceTextData, BOOL& bHandled); HRESULT OnGetItemCountAll(XUIMessageGetItemCount* pGetItemCountData, BOOL& bHandled); HRESULT OnGetSourceDataImage(XUIMessageGetSourceImage* pGetSourceImageData, BOOL& bHandled); HRESULT OnGetItemEnable(XUIMessageGetItemEnable* pGetItemEnableData, BOOL& bHandled); HRESULT OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData, BOOL& rfHandled); };