Compartilhar via


Classe CMFCRibbonButton

A classe CMFCRibbonButton implementa botões que podem ser posicionados em elementos da barra de faixa de opções, como painéis, barras de ferramentas de acesso rápido e menus pop-up.

Para obter mais detalhes, confira o código-fonte localizado na pasta VC\atlmfc\src\mfc de sua instalação do Visual Studio.

Sintaxe

class CMFCRibbonButton : public CMFCRibbonBaseElement

Membros

Construtores públicos

Nome Descrição
CMFCRibbonButton::CMFCRibbonButton Constrói um objeto de botão da faixa de opções.

Métodos públicos

Nome Descrição
CMFCRibbonButton::AddSubItem Adiciona um item de menu ao menu pop-up associado ao botão.
CMFCRibbonButton::CanBeStretched (Substitui CMFCRibbonBaseElement::CanBeStretched.)
CMFCRibbonButton::CleanUpSizes (Substitui CMFCRibbonBaseElement::CleanUpSizes.)
CMFCRibbonButton::ClosePopupMenu (Substitui CMFCRibbonBaseElement::ClosePopupMenu.)
CMFCRibbonButton::DrawBottomText
CMFCRibbonButton::DrawImage (Substitui CMFCRibbonBaseElement::DrawImage.)
CMFCRibbonButton::DrawRibbonText
CMFCRibbonButton::FindSubItemIndexByID Retorna o índice de um item de menu pop-up associado à ID de comando especificada.
CMFCRibbonButton::GetCommandRect
CMFCRibbonButton::GetCompactSize Retorna o tamanho compacto do elemento de faixa de opções. (Substitui CMFCRibbonBaseElement::GetCompactSize.)
CMFCRibbonButton::GetIcon
CMFCRibbonButton::GetImageIndex Retorna o índice da imagem associada ao botão.
CMFCRibbonButton::GetImageSize Retorna o tamanho da imagem do elemento de faixa de opções. (Substitui CMFCRibbonBaseElement::GetImageSize.)
CMFCRibbonButton::GetIntermediateSize Retorna o tamanho do elemento de faixa de opções em seu estado intermediário. (Substitui CMFCRibbonBaseElement::GetIntermediateSize.)
CMFCRibbonButton::GetMenu Retorna um identificador para um menu do Windows atribuído ao botão da faixa de opções.
CMFCRibbonButton::GetMenuRect
CMFCRibbonButton::GetRegularSize Retorna o tamanho regular do elemento da faixa de opções. (Substitui CMFCRibbonBaseElement::GetRegularSize.)
CMFCRibbonButton::GetSubItems
CMFCRibbonButton::GetTextRowHeight
CMFCRibbonButton::GetToolTipText Retorna o texto da dica de ferramenta do elemento de faixa de opções. (Substitui CMFCRibbonBaseElement::GetToolTipText.)
CMFCRibbonButton::HasCompactMode Especifica se o elemento de faixa de opções tem um modo compacto. (Substitui CMFCRibbonBaseElement::HasCompactMode.)
CMFCRibbonButton::HasIntermediateMode Especifica se o elemento de faixa de opções tem um modo intermediário. (Substitui CMFCRibbonBaseElement::HasIntermediateMode.)
CMFCRibbonButton::HasLargeMode Determina se o elemento de faixa de opções tem um modo grande. (Substitui CMFCRibbonBaseElement::HasLargeMode.)
CMFCRibbonButton::HasMenu (Substitui CMFCRibbonBaseElement::HasMenu.)
CMFCRibbonButton::IsAlwaysDrawBorder
CMFCRibbonButton::IsAlwaysLargeImage (Substitui CMFCRibbonBaseElement::IsAlwaysLargeImage.)
CMFCRibbonButton::IsApplicationButton
CMFCRibbonButton::IsCommandAreaHighlighted
CMFCRibbonButton::IsDefaultCommand Determina se você habilitou o comando padrão para um botão de faixa de opções.
CMFCRibbonButton::IsDefaultPanelButton
CMFCRibbonButton::IsDrawTooltipImage
CMFCRibbonButton::IsLargeImage
CMFCRibbonButton::IsMenuAreaHighlighted
CMFCRibbonButton::IsMenuOnBottom
CMFCRibbonButton::IsPopupDefaultMenuLook
CMFCRibbonButton::IsRightAlignMenu Determina se o menu está alinhado à direita.
CMFCRibbonButton::IsSingleLineText
CMFCRibbonButton::OnCalcTextSize (Substitui CMFCRibbonBaseElement::OnCalcTextSize.)
CMFCRibbonButton::OnDrawBorder
CMFCRibbonButton::OnDraw Chamado pela estrutura para desenhar o elemento da faixa de opções. (Substitui CMFCRibbonBaseElement::OnDraw.)
CMFCRibbonButton::OnFillBackground
CMFCRibbonButton::RemoveAllSubItems Remove todos os itens de menu do menu pop-up.
CMFCRibbonButton::RemoveSubItem Remove um item de menu do menu pop-up.
CMFCRibbonButton::SetACCData (Substitui CMFCRibbonBaseElement::SetACCData.)
CMFCRibbonButton::SetAlwaysLargeImage Especifica se o botão exibe uma imagem grande ou pequena quando o usuário recolhe o botão.
CMFCRibbonButton::SetDefaultCommand Habilita o comando padrão para o botão da faixa de opções.
CMFCRibbonButton::SetDescription Define a descrição do elemento de faixa de opções. (Substitui CMFCRibbonBaseElement::SetDescription.)
CMFCRibbonButton::SetImageIndex Atribui um índice à imagem do botão.
CMFCRibbonButton::SetMenu Atribui um menu pop-up ao botão da faixa de opções.
CMFCRibbonButton::SetParentCategory (Substitui CMFCRibbonBaseElement::SetParentCategory.)
CMFCRibbonButton::SetRightAlignMenu Alinha o menu pop-up à direita do botão.
CMFCRibbonButton::SetText Define o texto para o elemento de faixa de opções. (Substitui CMFCRibbonBaseElement::SetText.)

Métodos protegidos

Nome Descrição
CMFCRibbonButton::OnClick Chamado pela estrutura quando o usuário clica no botão.

Exemplo

O exemplo a seguir demonstra como usar os diversos métodos na classe CMFCRibbonButton. O exemplo mostra como construir um objeto da classe CMFCRibbonButton, atribuir um menu pop-up ao botão da faixa de opções, definir a descrição do botão, remover um item de menu do menu pop-up e alinhar o menu pop-up à borda do botão.

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

Comentários

Para usar um botão de faixa de opções em um aplicativo, construa o objeto de botão e adicione-o ao painel da faixa de opções apropriado.

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

Hierarquia de herança

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

Requisitos

Cabeçalho: afxribbonbutton.h

CMFCRibbonButton::AddSubItem

Adiciona um item de menu ao menu pop-up associado ao botão.

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

Parâmetros

pSubItem
[in] Especifica um ponteiro para o novo elemento a ser adicionado.

nIndex
[in] Especifica o índice no qual adicionar o elemento à matriz de itens de menu do botão; -1 para adicionar o elemento no final da matriz de itens de menu.

CMFCRibbonButton::CanBeStretched

virtual BOOL CanBeStretched();

Valor de retorno

Comentários

CMFCRibbonButton::CleanUpSizes

virtual void CleanUpSizes();

Comentários

CMFCRibbonButton::ClosePopupMenu

virtual void ClosePopupMenu();

Comentários

CMFCRibbonButton::CMFCRibbonButton

Constrói um objeto de botão da faixa de opções.

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 a ID de comando do botão.

lpszTexto
[in] Especifica o rótulo de texto do botão.

nSmallImageIndex
[in] Especifica um índice baseado em zero da pequena imagem do botão na lista de imagens da categoria pai.

nLargeImageIndex
[in] Especifica um índice baseado em zero da imagem grande do botão na lista de imagens da categoria pai.

hIcon
[in] Especifica um identificador para o ícone que o aplicativo usa como imagem do botão.

Exemplo

O exemplo a seguir demonstra como construir um objeto CMFCRibbonButton.

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

CMFCRibbonButton::DrawBottomText

CSize DrawBottomText(
    CDC* pDC,
    BOOL bCalcOnly);

Parâmetros

[in] pDC
[in] bCalcOnly

Valor de retorno

Comentários

CMFCRibbonButton::DrawImage

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

Parâmetros

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

Comentários

CMFCRibbonButton::DrawRibbonText

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

Comentários

CMFCRibbonButton::FindSubItemIndexByID

Retorna o índice de um item de menu pop-up associado à ID de comando especificada.

int FindSubItemIndexByID(UINT uiID) const;

Parâmetros

uiID
[in] Especifica a ID de comando do item de menu pop-up.

Valor de retorno

O índice baseado em zero do subitem associado à uiID. -1 se não houver esse sub-item.

CMFCRibbonButton::GetCommandRect

CRect GetCommandRect() const;

Valor de retorno

Comentários

CMFCRibbonButton::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

Parâmetros

[in] pDC

Valor de retorno

Comentários

CMFCRibbonButton::GetIcon

HICON GetIcon(BOOL bLargeIcon = TRUE) const;

Parâmetros

[in] bLargeIcon

Valor de retorno

Comentários

CMFCRibbonButton::GetImageIndex

Retorna o índice da imagem associada ao botão.

int GetImageIndex(BOOL bLargeImage) const;

Parâmetros

bLargeImage
[in] Se TRUE, retornará o índice de imagem na lista de imagens que contém as imagens grandes; caso contrário, retorna o índice de imagem na lista de imagens que contém as imagens pequenas.

Valor de retorno

O índice da imagem do botão na lista de imagens associada.

CMFCRibbonButton::GetImageSize

virtual CSize GetImageSize(RibbonImageType type) const;

Parâmetros

[in] type

Valor de retorno

Comentários

CMFCRibbonButton::GetIntermediateSize

virtual CSize GetIntermediateSize(CDC* pDC);

Parâmetros

[in] pDC

Valor de retorno

Comentários

CMFCRibbonButton::GetMenu

Retorna um identificador para um menu do Windows atribuído ao botão da faixa de opções.

HMENU GetMenu() const;

Valor de retorno

Um identificador para um menu do Windows atribuído ao botão; NULL se não houver nenhum menu atribuído.

CMFCRibbonButton::GetMenuRect

CRect GetMenuRect() const;

Valor de retorno

Comentários

CMFCRibbonButton::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

Parâmetros

[in] pDC

Valor de retorno

Comentários

CMFCRibbonButton::GetSubItems

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

Valor de retorno

Comentários

CMFCRibbonButton::GetTextRowHeight

int GetTextRowHeight() const;

Valor de retorno

Comentários

CMFCRibbonButton::GetToolTipText

virtual CString GetToolTipText() const;

Valor de retorno

Comentários

CMFCRibbonButton::HasCompactMode

virtual BOOL HasCompactMode() const;

Valor de retorno

Comentários

CMFCRibbonButton::HasIntermediateMode

virtual BOOL HasIntermediateMode() const;

Valor de retorno

Comentários

CMFCRibbonButton::HasLargeMode

virtual BOOL HasLargeMode() const;

Valor de retorno

Comentários

CMFCRibbonButton::HasMenu

virtual BOOL HasMenu() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsAlwaysDrawBorder

virtual BOOL IsAlwaysDrawBorder() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsAlwaysLargeImage

virtual BOOL IsAlwaysLargeImage() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsApplicationButton

virtual BOOL IsApplicationButton() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsCommandAreaHighlighted

virtual BOOL IsCommandAreaHighlighted() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsDefaultCommand

Especifica se o comando padrão para um botão de faixa de opções está habilitado.

BOOL IsDefaultCommand() const;

Valor de retorno

TRUE se você habilitou o comando padrão para um botão de faixa de opções; FALSE caso contrário.

CMFCRibbonButton::IsDefaultPanelButton

virtual BOOL IsDefaultPanelButton() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsDrawTooltipImage

virtual BOOL IsDrawTooltipImage() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsLargeImage

BOOL IsLargeImage() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsMenuAreaHighlighted

virtual BOOL IsMenuAreaHighlighted() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsMenuOnBottom

BOOL IsMenuOnBottom() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsPopupDefaultMenuLook

virtual BOOL IsPopupDefaultMenuLook() const;

Valor de retorno

Comentários

CMFCRibbonButton::IsRightAlignMenu

Especifica se o menu está alinhado à direita.

BOOL IsRightAlignMenu() const;

Valor de retorno

TRUE se o menu estiver alinhado à direita; caso contrário, FALSE.

CMFCRibbonButton::IsSingleLineText

BOOL IsSingleLineText() const;

Valor de retorno

Comentários

CMFCRibbonButton::OnCalcTextSize

virtual void OnCalcTextSize(CDC* pDC);

Parâmetros

[in] pDC

Comentários

CMFCRibbonButton::OnClick

Chamado pela estrutura quando o usuário clica no botão.

virtual void OnClick(CPoint point);

Parâmetros

point
[in] Especifica a posição do clique do mouse.

Comentários

Substitua esse método em uma classe derivada se você quiser manipular esse evento.

CMFCRibbonButton::OnDraw

virtual void OnDraw(CDC* pDC);

Parâmetros

[in] pDC

Comentários

CMFCRibbonButton::OnDrawBorder

virtual void OnDrawBorder(CDC* pDC);

Parâmetros

[in] pDC

Comentários

CMFCRibbonButton::OnFillBackground

virtual COLORREF OnFillBackground(CDC* pDC);

Parâmetros

[in] pDC

Valor de retorno

Comentários

CMFCRibbonButton::RemoveAllSubItems

Remove todos os itens de menu do menu pop-up.

void RemoveAllSubItems();

CMFCRibbonButton::RemoveSubItem

Remove um item de menu do menu pop-up.

BOOL RemoveSubItem(int nIndex);

Parâmetros

nIndex
[in] Especifica o índice baseado em zero do item de menu que você deseja remover.

Valor de retorno

TRUE se o item especificado tiver sido removido com êxito; caso contrário, FALSE se nIndex for negativo ou exceder o número de itens de menu no menu pop-up.

CMFCRibbonButton::SetACCData

Define os dados de acessibilidade para o botão da faixa de opções.

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

Parâmetros

pParent
A janela pai do elemento de faixa de opções.

data
Os dados de acessibilidade para o elemento de faixa de opções.

Valor de retorno

Retornará TRUE se bem-sucedido, caso contrário FALSE.

Comentários

CMFCRibbonButton::SetAlwaysLargeImage

Especifica se o botão exibe uma imagem grande ou pequena quando o usuário recolhe o botão.

void SetAlwaysLargeImage(BOOL bSet=TRUE);

Parâmetros

bSet
[in] Se TRUE, o botão exibirá uma imagem grande. Caso contrário, o botão exibirá uma imagem pequena.

CMFCRibbonButton::SetDefaultCommand

Habilita o comando padrão para o botão da faixa de opções.

void SetDefaultCommand(BOOL bSet=TRUE);

Parâmetros

bSet
[in] Se TRUE, o botão poderá executar seu comando padrão. Se FALSE, o botão não poderá executar seu comando padrão.

Comentários

bSet é relevante somente quando o botão tem um menu. Se bSet for TRUE, o botão poderá executar seu comando padrão e o menu pop-up atribuído será exibido somente quando um usuário clicar na seta na borda direita do botão. Caso contrário, o botão não poderá executar seu comando padrão e o menu pop-up será exibido independentemente da área do botão em que o usuário clica.

CMFCRibbonButton::SetDescription

virtual void SetDescription(LPCTSTR lpszText);

Parâmetros

[in] lpszText

Comentários

CMFCRibbonButton::SetImageIndex

Atribui um índice à imagem do botão.

void SetImageIndex(
    int nIndex,
    BOOL bLargeImage);

Parâmetros

nIndex
[in] Especifica o índice de imagem.

bLargeImage
[in] Se TRUE, o índice especificado se refere à lista de imagens grandes. Caso contrário, o índice se refere à lista de imagens pequenas.

CMFCRibbonButton::SetMenu

Atribui um menu pop-up ao botão da faixa de opções.

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

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

Parâmetros

hMenu
Um identificador para um menu do Windows.

bIsDefaultCommand
Se TRUE, o botão poderá executar seu comando padrão; caso contrário, o botão exibirá um menu pop-up.

bRightAlign
Se TRUE, o menu será alinhado à direita. Caso contrário, o menu será alinhado à esquerda.

uiMenuResID
Uma ID de recurso de menu.

Comentários

Quando o aplicativo atribui o menu ao botão, o botão exibe uma seta no lado direito. Se bIsDefaultCommand for TRUE, o menu será exibido somente quando o usuário clicar na seta. Se o usuário clicar no botão, seu comando padrão será executado. Se bIsDefaultCommand for FALSE, o menu será exibido clicando em qualquer lugar no botão.

CMFCRibbonButton::SetParentCategory

virtual void SetParentCategory(CMFCRibbonCategory* pParent);

Parâmetros

[in] pParent

Comentários

CMFCRibbonButton::SetRightAlignMenu

Alinha o menu pop-up à borda do botão.

void SetRightAlignMenu(BOOL bSet=TRUE);

Parâmetros

bSet
[in] Se TRUE, o menu estará alinhado à direita. Caso contrário, o menu será alinhado à esquerda

CMFCRibbonButton::SetText

virtual void SetText(LPCTSTR lpszText);

Parâmetros

[in] lpszText

Comentários

Confira também

Gráfico da hierarquia
Classes