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