53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
#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);
|
|
|
|
|
|
}; |