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