Compartir a través de


CMFCRibbonButton (clase)

La clase CMFCRibbonButton implementa botones que puede colocar en elementos de barra de cinta como paneles, barras de herramientas de acceso rápido y menús emergentes.

Para obtener información más detallada, consulta el código fuente que se ubica en la carpeta VC\atlmfc\src\mfc de la instalación de Visual Studio.

Sintaxis

class CMFCRibbonButton : public CMFCRibbonBaseElement

Miembros

Constructores públicos

Nombre Descripción
CMFCRibbonButton::CMFCRibbonButton Construye un objeto de botón de la cinta.

Métodos públicos

Nombre Descripción
CMFCRibbonButton::AddSubItem Agrega un elemento de menú al menú emergente asociado al botón.
CMFCRibbonButton::CanBeStretched (Invalida CMFCRibbonBaseElement::CanBeStretched).
CMFCRibbonButton::CleanUpSizes (Invalida CMFCRibbonBaseElement::CleanUpSizes).
CMFCRibbonButton::ClosePopupMenu (Invalida CMFCRibbonBaseElement::ClosePopupMenu).
CMFCRibbonButton::D rawBottomText
CMFCRibbonButton::D rawImage (Invalida CMFCRibbonBaseElement::DrawImage).
CMFCRibbonButton::D rawRibbonText
CMFCRibbonButton::FindSubItemIndexByID Devuelve el índice de un elemento de menú emergente asociado al id. de comando especificado.
CMFCRibbonButton::GetCommandRect
CMFCRibbonButton::GetCompactSize Devuelve el tamaño compacto del elemento de la cinta. (Invalida CMFCRibbonBaseElement::GetCompactSize).
CMFCRibbonButton::GetIcon
CMFCRibbonButton::GetImageIndex Devuelve el índice de la imagen asociada al botón.
CMFCRibbonButton::GetImageSize Devuelve el tamaño de la imagen del elemento de la cinta. (Invalida CMFCRibbonBaseElement::GetImageSize).
CMFCRibbonButton::GetIntermediateSize Devuelve el tamaño del elemento de la cinta en su estado intermedio. (Invalida CMFCRibbonBaseElement::GetIntermediateSize).
CMFCRibbonButton::GetMenu Devuelve un controlador a un menú de Windows que se asigna al botón de la cinta.
CMFCRibbonButton::GetMenuRect
CMFCRibbonButton::GetRegularSize Devuelve el tamaño normal del elemento de la cinta. (Invalida CMFCRibbonBaseElement::GetRegularSize.)
CMFCRibbonButton::GetSubItems
CMFCRibbonButton::GetTextRowHeight
CMFCRibbonButton::GetToolTipText Devuelve el texto de información sobre herramientas del elemento de la cinta. (Invalida CMFCRibbonBaseElement::GetToolTipText).
CMFCRibbonButton::HasCompactMode Especifica si el elemento de la cinta tiene un modo compacto. (Invalida CMFCRibbonBaseElement::HasCompactMode).
CMFCRibbonButton::HasIntermediateMode Especifica si el elemento de la cinta tiene un modo intermedio. (Invalida CMFCRibbonBaseElement::HasIntermediateMode).
CMFCRibbonButton::HasLargeMode Determina si el elemento de la cinta tiene un modo grande. (Invalida CMFCRibbonBaseElement::HasLargeMode).
CMFCRibbonButton::HasMenu (Invalida CMFCRibbonBaseElement::HasMenu).
CMFCRibbonButton::IsAlwaysDrawBorder
CMFCRibbonButton::IsAlwaysLargeImage (Invalida CMFCRibbonBaseElement::IsAlwaysLargeImage).
CMFCRibbonButton::IsApplicationButton
CMFCRibbonButton::IsCommandAreaHighlighted
CMFCRibbonButton::IsDefaultCommand Determina si se ha habilitado el comando predeterminado de un botón de la cinta.
CMFCRibbonButton::IsDefaultPanelButton
CMFCRibbonButton::IsDrawTooltipImage
CMFCRibbonButton::IsLargeImage
CMFCRibbonButton::IsMenuAreaHighlighted
CMFCRibbonButton::IsMenuOnBottom
CMFCRibbonButton::IsPopupDefaultMenuLook
CMFCRibbonButton::IsRightAlignMenu Determina si el menú está alineado a la derecha.
CMFCRibbonButton::IsSingleLineText
CMFCRibbonButton::OnCalcTextSize (Invalida CMFCRibbonBaseElement::OnCalcTextSize).
CMFCRibbonButton::OnDrawBorder
CMFCRibbonButton::OnDraw Llamado por el marco de trabajo para dibujar el elemento de la cinta. (Invalida CMFCRibbonBaseElement::OnDraw.)
CMFCRibbonButton::OnFillBackground
CMFCRibbonButton::RemoveAllSubItems Quita todos los elementos del menú emergente.
CMFCRibbonButton::RemoveSubItem Quita un elemento del menú emergente.
CMFCRibbonButton::SetACCData (Invalida CMFCRibbonBaseElement::SetACCData).
CMFCRibbonButton::SetAlwaysLargeImage Especifica si el botón muestra una imagen grande o pequeña cuando el usuario lo contrae.
CMFCRibbonButton::SetDefaultCommand Habilita el comando predeterminado del botón de la cinta.
CMFCRibbonButton::SetDescription Establece la descripción del elemento de la cinta. (Invalida CMFCRibbonBaseElement::SetDescription).
CMFCRibbonButton::SetImageIndex Asigna un índice a la imagen del botón.
CMFCRibbonButton::SetMenu Asigna un menú emergente al botón de la cinta.
CMFCRibbonButton::SetParentCategory (Invalida CMFCRibbonBaseElement::SetParentCategory).
CMFCRibbonButton::SetRightAlignMenu Alinea el menú emergente a la derecha del botón.
CMFCRibbonButton::SetText Establece el texto para el elemento de la cinta. (Invalida CMFCRibbonBaseElement::SetText).

Métodos protegidos

Nombre Descripción
CMFCRibbonButton::OnClick Llamado por el marco de trabajo cuando el usuario hace clic en el botón.

Ejemplo

En el siguiente ejemplo se muestra cómo usar los distintos métodos en la clase CMFCRibbonButton. En el ejemplo se muestra cómo construir un objeto de la clase CMFCRibbonButton, asignar un menú emergente al botón de la cinta, establecer la descripción del botón, quitar un elemento del menú emergente y alinear a la derecha el menú emergente hacia el borde del botón.

strTemp.LoadString(IDS_RIBBON_STYLE);
// The first parameter is the command ID of the button.
// The third parameter is a zero-based index of the button's small image in the
// image list of the parent category.
// The fourth parameter is a zero-based index of the button's large image in the
// image list of the parent category.
CMFCRibbonButton *pVisualStyleButton = new CMFCRibbonButton(1, strTemp, -1, -1);

pVisualStyleButton->SetMenu(IDR_THEME_MENU, TRUE, TRUE);

strTemp.LoadString(IDS_RIBBON_STYLE_TIP);
pVisualStyleButton->SetToolTipText(strTemp);
strTemp.LoadString(IDS_RIBBON_STYLE_DESC);
pVisualStyleButton->SetDescription(strTemp);
pVisualStyleButton->RemoveSubItem(0);
pVisualStyleButton->SetRightAlignMenu(TRUE);

Comentarios

Para usar un botón de la cinta de opciones en una aplicación, construya el objeto de botón y agréguelo al panel adecuado de la cinta de opciones.

CMFCRibbonPanel* pPanel = pCategory->AddPanel (
    _T("Clipboard"), // Panel name
    m_PanelIcons.ExtractIcon (0)); // Panel icon

// Create the first button ("Paste"):
CMFCRibbonButton* pPasteButton =
    new CMFCRibbonButton (ID_EDIT_PASTE, _T("Paste"), -1, 0);

// The third parameter (-1) disables small images for button.
// This button is always displayed with a large image
// Associate a pop-up menu with the "Paste" button:
pPasteButton->SetMenu (IDR_CONTEXT_MENU);

// Add buttons to the panel. These buttons have only small images.
pPanel->Add (new CMFCRibbonButton (ID_EDIT_CUT, _T("Cut"), 1));
pPanel->Add (new CMFCRibbonButton (ID_EDIT_COPY, _T("Copy"), 2));
pPanel->Add (new CMFCRibbonButton (ID_EDIT_PAINT, _T("Paint"), 9));

Jerarquía de herencia

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

Requisitos

Encabezado: afxribbonbutton.h

CMFCRibbonButton::AddSubItem

Agrega un elemento de menú al menú emergente asociado al botón.

void AddSubItem(
    CMFCRibbonBaseElement* pSubItem,
    int nIndex=-1);

Parámetros

pSubItem
[in] Especifica un puntero al nuevo elemento que se va a agregar.

nIndex
[in] Especifica el índice en el que se va a agregar el elemento a la matriz de elementos de menú del botón; -1 para agregar el elemento al final de la matriz de elementos de menú.

CMFCRibbonButton::CanBeStretched

virtual BOOL CanBeStretched();

Valor devuelto

Comentarios

CMFCRibbonButton::CleanUpSizes

virtual void CleanUpSizes();

Comentarios

CMFCRibbonButton::ClosePopupMenu

virtual void ClosePopupMenu();

Comentarios

CMFCRibbonButton::CMFCRibbonButton

Construye un objeto de botón de la cinta.

CMFCRibbonButton(
    UINT nID,
    LPCTSTR lpszText,
    int nSmallImageIndex=-1,
    int nLargeImageIndex=-1,
    BOOL bAlwaysShowDescription=FALSE);

CMFCRibbonButton(
    UINT nID,
    LPCTSTR lpszText,
    HICON hIcon,
    BOOL bAlwaysShowDescription=FALSE,
    HICON hIconSmall=NULL,
    BOOL bAutoDestroyIcon=FALSE,
    BOOL bAlphaBlendIcon=FALSE);

Parámetros

Nid
[in] Especifica el id. de comando del botón.

lpszText
[in] Especifica la etiqueta de texto del botón.

nSmallImageIndex
[in] Especifica un índice de base cero de la imagen pequeña del botón en la lista de imágenes de la categoría primaria.

nLargeImageIndex
[in] Especifica un índice de base cero de la imagen grande del botón en la lista de imágenes de la categoría primaria.

hIcon
[in] Especifica un identificador para el icono que la aplicación usa como imagen del botón.

Ejemplo

En el ejemplo siguiente, se muestra cómo construir un objeto CMFCRibbonButton.

strTemp.LoadString(IDS_RIBBON_CUT);
CMFCRibbonButton *butn = new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1);
butn->SetKeys(_T("k"));

CMFCRibbonButton::D rawBottomText

CSize DrawBottomText(
    CDC* pDC,
    BOOL bCalcOnly);

Parámetros

[in] pDC
[in] bCalcOnly

Valor devuelto

Comentarios

CMFCRibbonButton::D rawImage

virtual void DrawImage(
    CDC* pDC,
    RibbonImageType type,
    CRect rectImage);

Parámetros

[in] pDC
[in] type
[in] rectImage

Comentarios

CMFCRibbonButton::D rawRibbonText

virtual int DrawRibbonText(
    CDC* pDC,
    const CString& strText,
    CRect rectText,
    UINT uiDTFlags,
    COLORREF clrText = (COLORREF)-1);

Parámetros

[in] pDC
[in] strText
[in] rectText
[in] uiDTFlags
[in] clrText

Valor devuelto

Comentarios

CMFCRibbonButton::FindSubItemIndexByID

Devuelve el índice de un elemento de menú emergente asociado al id. de comando especificado.

int FindSubItemIndexByID(UINT uiID) const;

Parámetros

uiID
[in] Especifica el id. de comando del elemento de menú emergente.

Valor devuelto

Índice de base cero del subelemento asociado a uiID. -1 si no hay ningún subelemento de este tipo.

CMFCRibbonButton::GetCommandRect

CRect GetCommandRect() const;

Valor devuelto

Comentarios

CMFCRibbonButton::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

Parámetros

[in] pDC

Valor devuelto

Comentarios

CMFCRibbonButton::GetIcon

HICON GetIcon(BOOL bLargeIcon = TRUE) const;

Parámetros

[in] bLargeIcon

Valor devuelto

Comentarios

CMFCRibbonButton::GetImageIndex

Devuelve el índice de la imagen asociada al botón.

int GetImageIndex(BOOL bLargeImage) const;

Parámetros

bLargeImage
[in] Si es TRUE, devuelve el índice de imagen de la lista de imágenes que contiene las imágenes grandes; de lo contrario, devuelve el índice de imagen de la lista de imágenes que contiene las imágenes pequeñas.

Valor devuelto

Índice de la imagen del botón en la lista de imágenes asociadas.

CMFCRibbonButton::GetImageSize

virtual CSize GetImageSize(RibbonImageType type) const;

Parámetros

[in] type

Valor devuelto

Comentarios

CMFCRibbonButton::GetIntermediateSize

virtual CSize GetIntermediateSize(CDC* pDC);

Parámetros

[in] pDC

Valor devuelto

Comentarios

CMFCRibbonButton::GetMenu

Devuelve un controlador a un menú de Windows que se asigna al botón de la cinta.

HMENU GetMenu() const;

Valor devuelto

Identificador de un menú de Windows asignado al botón; NULL si no hay ningún menú asignado.

CMFCRibbonButton::GetMenuRect

CRect GetMenuRect() const;

Valor devuelto

Comentarios

CMFCRibbonButton::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

Parámetros

[in] pDC

Valor devuelto

Comentarios

CMFCRibbonButton::GetSubItems

const CArray<CMFCRibbonBaseElement*, CMFCRibbonBaseElement*>& GetSubItems() const;

Valor devuelto

Comentarios

CMFCRibbonButton::GetTextRowHeight

int GetTextRowHeight() const;

Valor devuelto

Comentarios

CMFCRibbonButton::GetToolTipText

virtual CString GetToolTipText() const;

Valor devuelto

Comentarios

CMFCRibbonButton::HasCompactMode

virtual BOOL HasCompactMode() const;

Valor devuelto

Comentarios

CMFCRibbonButton::HasIntermediateMode

virtual BOOL HasIntermediateMode() const;

Valor devuelto

Comentarios

CMFCRibbonButton::HasLargeMode

virtual BOOL HasLargeMode() const;

Valor devuelto

Comentarios

CMFCRibbonButton::HasMenu

virtual BOOL HasMenu() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsAlwaysDrawBorder

virtual BOOL IsAlwaysDrawBorder() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsAlwaysLargeImage

virtual BOOL IsAlwaysLargeImage() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsApplicationButton

virtual BOOL IsApplicationButton() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsCommandAreaHighlighted

virtual BOOL IsCommandAreaHighlighted() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsDefaultCommand

Especifica si está habilitado el comando predeterminado de un botón de la cinta de opciones.

BOOL IsDefaultCommand() const;

Valor devuelto

TRUE si se ha habilitado el comando predeterminado de un botón de la cinta de opciones; de lo contrario, FALSE.

CMFCRibbonButton::IsDefaultPanelButton

virtual BOOL IsDefaultPanelButton() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsDrawTooltipImage

virtual BOOL IsDrawTooltipImage() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsLargeImage

BOOL IsLargeImage() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsMenuAreaHighlighted

virtual BOOL IsMenuAreaHighlighted() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsMenuOnBottom

BOOL IsMenuOnBottom() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsPopupDefaultMenuLook

virtual BOOL IsPopupDefaultMenuLook() const;

Valor devuelto

Comentarios

CMFCRibbonButton::IsRightAlignMenu

Especifica si el menú está alineado a la derecha.

BOOL IsRightAlignMenu() const;

Valor devuelto

TRUE si el menú está alineado a la derecha; en caso contrario, FALSE.

CMFCRibbonButton::IsSingleLineText

BOOL IsSingleLineText() const;

Valor devuelto

Comentarios

CMFCRibbonButton::OnCalcTextSize

virtual void OnCalcTextSize(CDC* pDC);

Parámetros

[in] pDC

Comentarios

CMFCRibbonButton::OnClick

Llamado por el marco de trabajo cuando el usuario hace clic en el botón.

virtual void OnClick(CPoint point);

Parámetros

point
[in] Especifica la posición del clic del mouse.

Comentarios

Invalide este método en una clase derivada si quiere controlar este evento.

CMFCRibbonButton::OnDraw

virtual void OnDraw(CDC* pDC);

Parámetros

[in] pDC

Comentarios

CMFCRibbonButton::OnDrawBorder

virtual void OnDrawBorder(CDC* pDC);

Parámetros

[in] pDC

Comentarios

CMFCRibbonButton::OnFillBackground

virtual COLORREF OnFillBackground(CDC* pDC);

Parámetros

[in] pDC

Valor devuelto

Comentarios

CMFCRibbonButton::RemoveAllSubItems

Quita todos los elementos del menú emergente.

void RemoveAllSubItems();

CMFCRibbonButton::RemoveSubItem

Quita un elemento del menú emergente.

BOOL RemoveSubItem(int nIndex);

Parámetros

nIndex
[in] Especifica el índice de base cero del elemento de menú que quiere quitar.

Valor devuelto

TRUE si el elemento especificado se ha quitado correctamente; de lo contrario, FALSE si nIndex es negativo o supera el número de elementos de menú del menú emergente.

CMFCRibbonButton::SetACCData

Establece los datos de accesibilidad para el botón de la cinta de opciones.

virtual BOOL SetACCData(
    CWnd* pParent,
    CAccessibilityData& data);

Parámetros

pParent
La ventana principal para el elemento de la cinta de opciones.

data
Los datos de accesibilidad para el elemento de la cinta de opciones.

Valor devuelto

Devuelve TRUE si se realiza correctamente; en caso contrario, FALSE.

Comentarios

CMFCRibbonButton::SetAlwaysLargeImage

Especifica si el botón muestra una imagen grande o pequeña cuando el usuario lo contrae.

void SetAlwaysLargeImage(BOOL bSet=TRUE);

Parámetros

bSet
[in] Si es TRUE, el botón muestra una imagen grande. De lo contrario, el botón muestra una imagen pequeña.

CMFCRibbonButton::SetDefaultCommand

Habilita el comando predeterminado del botón de la cinta.

void SetDefaultCommand(BOOL bSet=TRUE);

Parámetros

bSet
[in] Si es TRUE, el botón puede ejecutar su comando predeterminado. Si es FALSE, el botón no puede ejecutar su comando predeterminado.

Comentarios

bSet solo es relevante cuando el botón tiene un menú. Si bSet es TRUE, el botón puede ejecutar su comando predeterminado y el menú emergente asignado solo aparece cuando un usuario hace clic en la flecha situada en el borde derecho del botón. De lo contrario, el botón no puede ejecutar su comando predeterminado y el menú emergente aparece independientemente del área del botón en que hace clic el usuario.

CMFCRibbonButton::SetDescription

virtual void SetDescription(LPCTSTR lpszText);

Parámetros

[in] lpszText

Comentarios

CMFCRibbonButton::SetImageIndex

Asigna un índice a la imagen del botón.

void SetImageIndex(
    int nIndex,
    BOOL bLargeImage);

Parámetros

nIndex
[in] Especifica el índice de imagen.

bLargeImage
[in] Si es TRUE, el índice especificado hace referencia a la lista de imágenes grandes. De lo contrario, el índice hace referencia a la lista de las imágenes pequeñas.

CMFCRibbonButton::SetMenu

Asigna un menú emergente al botón de la cinta.

void SetMenu(
    HMENU hMenu,
    BOOL bIsDefaultCommand=FALSE,
    BOOL bRightAlign=FALSE);

void SetMenu(
    UINT uiMenuResID,
    BOOL bIsDefaultCommand=FALSE,
    BOOL bRightAlign=FALSE);

Parámetros

hMenu
Identificador de un menú de ventana.

bIsDefaultCommand
Si es TRUE, el botón puede ejecutar su comando predeterminado; de lo contrario, el botón muestra un menú emergente.

bRightAlign
Si es TRUE, el menú está alineado a la derecha. De lo contrario, el menú está alineado a la izquierda.

uiMenuResID
Id. de recurso de menú.

Comentarios

Cuando la aplicación asigna el menú al botón, el botón muestra una flecha en su lado derecho. Si bIsDefaultCommand es TRUE, el menú solo aparece cuando el usuario hace clic en la flecha. Si el usuario hace clic en el botón, se ejecuta su comando predeterminado. Si bIsDefaultCommand es FALSE, el menú aparece haciendo clic en cualquier parte del botón.

CMFCRibbonButton::SetParentCategory

virtual void SetParentCategory(CMFCRibbonCategory* pParent);

Parámetros

[in] pParent

Comentarios

CMFCRibbonButton::SetRightAlignMenu

Alinea el menú emergente en el borde del botón.

void SetRightAlignMenu(BOOL bSet=TRUE);

Parámetros

bSet
[in] Si es TRUE, el menú está alineado a la derecha. De lo contrario, el menú está alineado a la izquierda.

CMFCRibbonButton::SetText

virtual void SetText(LPCTSTR lpszText);

Parámetros

[in] lpszText

Comentarios

Consulte también

Gráfico de jerarquías
Clases