CMFCRibbonComboBox 类
CMFCRibbonComboBox
类实现可添加到功能区栏、功能区面板或功能区弹出菜单的组合框控件。
语法
class CMFCRibbonComboBox : public CMFCRibbonEdit
成员
构造函数
名称 | 描述 |
---|---|
CMFCRibbonComboBox::CMFCRibbonComboBox | 构造 CMFCRibbonComboBox 对象。 |
公共方法
名称 | 描述 |
---|---|
CMFCRibbonComboBox::AddItem | 将唯一项追加到列表框。 |
CMFCRibbonComboBox::DeleteItem | 从列表框中删除指定的项。 |
CMFCRibbonComboBox::EnableDropDownListResize | 指定列表框在下拉列表时是否可以更改大小。 |
CMFCRibbonComboBox::FindItem | 返回列表框中匹配指定字符串的第一项的索引。 |
CMFCRibbonComboBox::GetCount | 返回列表框中的项数。 |
CMFCRibbonComboBox::GetCurSel | 获取列表框中当前所选项的索引。 |
CMFCRibbonComboBox::GetDropDownHeight | 下拉列表框时获取列表框的高度。 |
CMFCRibbonComboBox::GetIntermediateSize | 返回在中间模式下显示的组合框的大小。 |
CMFCRibbonComboBox::GetItem | 返回与列表框中指定索引处的项关联的字符串。 |
CMFCRibbonComboBox::GetItemData | 返回与列表框中指定索引处的项关联的数据。 |
CMFCRibbonComboBox::HasEditBox | 指示控件是否包含编辑框。 |
CMFCRibbonComboBox::IsResizeDropDownList | 指示是否可以重设列表框的大小。 |
CMFCRibbonComboBox::OnSelectItem | 当用户在列表框中选择项时由框架调用。 |
CMFCRibbonComboBox::RemoveAllItems | 从列表框中删除所有项,并清除编辑框。 |
CMFCRibbonComboBox::SelectItem | 选择列表框中的项。 |
CMFCRibbonComboBox::SetDropDownHeight | 设置下拉列表时列表框的高度。 |
备注
功能区组合框包含一个列表框,列表框中包含一个静态标签或可供用户编辑的标签。 必须在创建功能区组合框时指定所需的类型。
示例
以下示例演示了如何构造 CMFCRibbonComboBox
类的对象、将项添加到组合框、选择组合框中的项以及将组合框添加到面板。
// Create a simple combo box with two entries:
// The first parameter is the id of the combo box.
// The third parameter is the width of the combo box in pixels.
// The fourth parameter is the display label of the combo box.
// The fifth parameter is the index of the small image of the combo box.
CMFCRibbonComboBox *pComboSimple = new CMFCRibbonComboBox(-1, FALSE, -1, 0, -1);
// Add two items to the combo box and select the first item in the list:
pComboSimple->AddItem(_T("Hi!"));
pComboSimple->AddItem(_T("Hello!"));
pComboSimple->SelectItem(0);
// Add combo button to "Favorites" panel:
// CMFCRibbonPanel* pPanelFavorites
pPanelFavorites->Add(pComboSimple);
继承层次结构
要求
标头:afxribboncombobox.h
CMFCRibbonComboBox::AddItem
将唯一项追加到列表框。
virtual INT_PTR AddItem(
LPCTSTR lpszItem,
DWORD_PTR dwData=0);
参数
lpszItem
[in] 要添加的项的字符串。
dwData
[in] 与要添加的项关联的数据。
返回值
追加的项的从零开始的索引。
CMFCRibbonComboBox::CMFCRibbonComboBox
构造 CMFCRibbonComboBox
对象。
public:
CMFCRibbonComboBox(
UINT nID,
BOOL bHasEditBox=TRUE,
Int nWidth=-1,
LPCTSTR lpszLabel=NULL,
Int nImage=-1);
protected:
CMFCRibbonComboBox();
参数
nID
[in] 组合框的 ID。
bHasEditBox
[in] 如果希望控件内具有编辑框,则为 TRUE;否则为FALSE。
nWidth
[in] 组合框的宽度(以像素为单位);或为 -1(表示默认宽度)。
lpszLabel
[in] 组合框的显示标签。
nImage
[in] 组合框的小图像索引。
备注
默认宽度为 108 个像素。
CMFCRibbonComboBox::DeleteItem
从列表框中删除指定的项。
BOOL DeleteItem(int iIndex);
BOOL DeleteItem(DWORD_PTR dwData);
BOOL DeleteItem(LPCTSTR lpszText);
参数
iIndex
[in] 要删除的项的从零开始的索引。
dwData
[in] 与要删除的项关联的数据。
lpszText
[in] 要删除的项的字符串。 如果有多个项具有相同的字符串,则删除第一个项。
返回值
如果指定的项已被删除,则为 TRUE;否则,为 FALSE。
备注
CMFCRibbonComboBox::EnableDropDownListResize
指定列表框在下拉列表时是否可以更改大小。
void EnableDropDownListResize(BOOL bEnable=FALSE);
参数
bEnable
[in] 设为 TRUE 以启用重设大小;设为 FALSE 则禁用重设大小。
注解
启用重设大小后,列表框将更改大小以适应其显示的项。
CMFCRibbonComboBox::FindItem
返回列表框中匹配指定字符串的第一项的索引。
int FindItem(LPCTSTR lpszText) const;
参数
lpszText
[in] 列表框中项的字符串。
返回值
项的从零开始的索引;如果未找到该项,则为 -1。
备注
CMFCRibbonComboBox::GetCount
返回列表框中的项数。
INT_PTR GetCount() const;
返回值
列表框中的项数,如果列表框不包含任何项,则为 0。
备注
CMFCRibbonComboBox::GetCurSel
获取列表框中当前所选项的索引。
int GetCurSel() const;
返回值
列表框中当前选中项的从零开始的索引;如果未选择任何项,则为 -1。
CMFCRibbonComboBox::GetDropDownHeight
下拉列表框时获取列表框的高度。
int GetDropDownHeight();
返回值
列表框的高度(以像素为单位)。
备注
CMFCRibbonComboBox::GetIntermediateSize
返回在中间模式下显示的组合框的大小。
virtual CSize GetIntermediateSize(CDC* pDC);
参数
pDC
[in] 指向组合框的设备上下文的指针。
返回值
组合框的大小。
备注
返回的大小基于组合框显示小图像时的大小。
CMFCRibbonComboBox::GetItem
返回与列表框中指定索引处的项关联的字符串。
LPCTSTR GetItem(int iIndex) const;
参数
iIndex
[in] 列表框中项的从零开始的索引。
返回值
指向与项关联的字符串的指针;否则,如果索引参数无效,或者索引参数为 -1 且组合框中没有选定项,则为 NULL。
备注
CMFCRibbonComboBox::GetItemData
返回与列表框中指定索引处的项关联的数据。
DWORD_PTR GetItemData(int iIndex) const;
参数
iIndex
[in] 列表框中项的从零开始的索引。
返回值
与项关联的数据;如果该项不存在,或者如果索引参数为 -1 并且列表框中没有选定项,则为 0。
CMFCRibbonComboBox::HasEditBox
指示控件是否包含编辑框。
BOOL HasEditBox() const;
返回值
如果控件包含编辑框,则为 TRUE;否则,为 FALSE。
注解
CMFCRibbonComboBox::IsResizeDropDownList
指示是否可以重设列表框的大小。
BOOL IsResizeDropDownList() const;
返回值
如果列表框可以重设大小,则为 TRUE;否则为 FALSE。 CMFCRibbonComboBox::EnableDropDownListResize
备注
可以使用 CMFCRibbonComboBox::EnableDropDownListResize 方法启用列表框重设大小。
CMFCRibbonComboBox::OnSelectItem
当用户在列表框中选择项时由框架调用。
virtual void OnSelectItem(int nItem);
参数
nItem
[in] 选定项的索引。
备注
如果要处理用户输入选择,请替代此方法。
CMFCRibbonComboBox::RemoveAllItems
从列表框中删除所有项,并清除编辑框。
void RemoveAllItems();
备注
CMFCRibbonComboBox::SelectItem
选择列表框中的项。
BOOL SelectItem(int iIndex);
BOOL SelectItem(DWORD_PTR dwData);
BOOL SelectItem(LPCTSTR lpszText);
参数
iIndex
[in] 列表框中项的从零开始的索引。
dwData
[in] 与列表框中的项关联的数据。
lpszText
[in] 列表框中项的字符串。
返回值
如果此方法成功,则为 TRUE;否则为 FALSE。
备注
CMFCRibbonComboBox::SetDropDownHeight
设置下拉列表时列表框的高度。
void SetDropDownHeight(int nHeight);
参数
nHeight
[in] 列表框的高度(以像素为单位)。
备注
默认高度为 150 个像素。