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);

继承层次结构

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

CMFCRibbonEdit

CMFCRibbonComboBox

要求

标头: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 个像素。

另请参阅

层次结构图

CMFCRibbonEdit 类