Classe CMFCRibbonButton

La classe CMFCRibbonButton implementa i pulsanti che è possibile posizionare negli elementi della barra multifunzione, ad esempio pannelli, barre di accesso rapido e menu a comparsa.

Per altri dettagli, vedere il codice sorgente che si trova nella cartella VC\atlmfc\src\mfc dell'installazione di Visual Studio.

Sintassi

class CMFCRibbonButton : public CMFCRibbonBaseElement

Membri

Costruttori pubblici

Nome Descrizione
CMFCRibbonButton::CMFCRibbonButton Costruisce un oggetto pulsante della barra multifunzione.

Metodi pubblici

Nome Descrizione
CMFCRibbonButton::AddSubItem Aggiunge una voce al menu a comparsa associato al pulsante.
CMFCRibbonButton::CanBeStretched (sostituzioni )CMFCRibbonBaseElement::CanBeStretched.
CMFCRibbonButton::CleanUpSizes (sostituzioni )CMFCRibbonBaseElement::CleanUpSizes.
CMFCRibbonButton::ClosePopupMenu (sostituzioni )CMFCRibbonBaseElement::ClosePopupMenu.
CMFCRibbonButton::D rawBottomText
CMFCRibbonButton::D rawImage (sostituzioni )CMFCRibbonBaseElement::D rawImage.
CMFCRibbonButton::D rawRibbonText
CMFCRibbonButton::FindSubItemIndexByID Restituisce l'indice di una voce di menu a comparsa associata all'ID di comando.
CMFCRibbonButton::GetCommandRect
CMFCRibbonButton::GetCompactSize Restituisce la dimensione compatta dell'elemento della barra multifunzione. (sostituzioni )CMFCRibbonBaseElement::GetCompactSize.
CMFCRibbonButton::GetIcon
CMFCRibbonButton::GetImageIndex Restituisce l'indice dell'immagine associata al pulsante.
CMFCRibbonButton::GetImageSize Restituisce la dimensione dell'immagine dell'elemento della barra multifunzione. (sostituzioni )CMFCRibbonBaseElement::GetImageSize.
CMFCRibbonButton::GetIntermediateSize Restituisce la dimensione dell'elemento della barra multifunzione nello stato intermedio. (sostituzioni )CMFCRibbonBaseElement::GetIntermediateSize.
CMFCRibbonButton::GetMenu Restituisce un handle a un menu di Windows assegnato al pulsante della barra multifunzione.
CMFCRibbonButton::GetMenuRect
CMFCRibbonButton::GetRegularSize Restituisce la dimensione regolare dell'elemento della barra multifunzione. (sostituzioni )CMFCRibbonBaseElement::GetRegularSize.
CMFCRibbonButton::GetSubItems
CMFCRibbonButton::GetTextRowHeight
CMFCRibbonButton::GetToolTipText Restituisce il testo della descrizione comando dell'elemento della barra multifunzione. (sostituzioni )CMFCRibbonBaseElement::GetToolTipText.
CMFCRibbonButton::HasCompactMode Specifica se l'elemento della barra multifunzione dispone di una modalità compatta. (sostituzioni )CMFCRibbonBaseElement::HasCompactMode.
CMFCRibbonButton::HasIntermediateMode Specifica se l'elemento della barra multifunzione dispone di una modalità intermedia. (sostituzioni )CMFCRibbonBaseElement::HasIntermediateMode.
CMFCRibbonButton::HasLargeMode Specifica se l'elemento della barra multifunzione dispone di una modalità di dimensioni elevate. (sostituzioni )CMFCRibbonBaseElement::HasLargeMode.
CMFCRibbonButton::HasMenu (sostituzioni )CMFCRibbonBaseElement::HasMenu.
CMFCRibbonButton::IsAlwaysDrawBorder
CMFCRibbonButton::IsAlwaysLargeImage (sostituzioni )CMFCRibbonBaseElement::IsAlwaysLargeImage.
CMFCRibbonButton::IsApplicationButton
CMFCRibbonButton::IsCommandAreaHighlighted
CMFCRibbonButton::IsDefaultCommand Determina se è stato abilitato il comando predefinito per un pulsante della barra multifunzione.
CMFCRibbonButton::IsDefaultPanelButton
CMFCRibbonButton::IsDrawTooltipImage
CMFCRibbonButton::IsLargeImage
CMFCRibbonButton::IsMenuAreaHighlighted
CMFCRibbonButton::IsMenuOnBottom
CMFCRibbonButton::IsPopupDefaultMenuLook
CMFCRibbonButton::IsRightAlignMenu Determina se il menu è allineato a destra.
CMFCRibbonButton::IsSingleLineText
CMFCRibbonButton::OnCalcTextSize (sostituzioni )CMFCRibbonBaseElement::OnCalcTextSize.
CMFCRibbonButton::OnDrawBorder
CMFCRibbonButton::OnDraw Chiamato dal framework per disegnare l'elemento della barra multifunzione. (sostituzioni )CMFCRibbonBaseElement::OnDraw.
CMFCRibbonButton::OnFillBackground
CMFCRibbonButton::RemoveAllSubItems Rimuove tutte le voci di menu dal menu a comparsa.
CMFCRibbonButton::RemoveSubItem Rimuove una voce di menu dal menu a comparsa.
CMFCRibbonButton::SetACCData (sostituzioni )CMFCRibbonBaseElement::SetACCData.
CMFCRibbonButton::SetAlwaysLargeImage Specifica se il pulsante visualizza un'immagine di grandi o piccole dimensioni quando l'utente comprime il pulsante.
CMFCRibbonButton::SetDefaultCommand Abilita il comando predefinito per il pulsante della barra multifunzione.
CMFCRibbonButton::SetDescription Imposta la descrizione dell'elemento della barra multifunzione. (sostituzioni )CMFCRibbonBaseElement::SetDescription.
CMFCRibbonButton::SetImageIndex Assegna un indice all'immagine del pulsante.
CMFCRibbonButton::SetMenu Assegna un menu a comparsa al pulsante della barra multifunzione.
CMFCRibbonButton::SetParentCategory (sostituzioni )CMFCRibbonBaseElement::SetParentCategory.
CMFCRibbonButton::SetRightAlignMenu Allinea il menu a comparsa a destra del pulsante.
CMFCRibbonButton::SetText Imposta il testo per l'elemento della barra multifunzione. (sostituzioni )CMFCRibbonBaseElement::SetText.

Metodi protetti

Nome Descrizione
CMFCRibbonButton::OnClick Chiamato dal framework quando l'utente fa clic sul pulsante.

Esempio

Nell'esempio seguente viene illustrato come usare vari metodi nella classe CMFCRibbonButton. L'esempio mostra come costruire un oggetto con la classe CMFCRibbonButton, assegnare un menu a comparsa al pulsante della barra multifunzione, impostare la descrizione del pulsante, rimuovere una voce di menu dal menu a comparsa e a destra allineare il menu a comparsa al bordo del pulsante.

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

Osservazioni:

Per usare un pulsante della barra multifunzione in un'applicazione, costruire l'oggetto pulsante e aggiungerlo al pannello della barra multifunzione appropriato.

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

Gerarchia di ereditarietà

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

Requisiti

Intestazione: afxribbonbutton.h

CMFCRibbonButton::AddSubItem

Aggiunge una voce al menu a comparsa associato al pulsante.

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

Parametri

pSubItem
[in] Specifica un puntatore al nuovo elemento da aggiungere.

nIndex
[in] Specifica l'indice in corrispondenza del quale aggiungere l'elemento alla matrice di voci di menu del pulsante; -1 per aggiungere l'elemento alla fine della matrice di voci di menu.

CMFCRibbonButton::CanBeStretched

virtual BOOL CanBeStretched();

Valore restituito

Osservazioni:

CMFCRibbonButton::CleanUpSizes

virtual void CleanUpSizes();

Osservazioni:

CMFCRibbonButton::ClosePopupMenu

virtual void ClosePopupMenu();

Osservazioni:

CMFCRibbonButton::CMFCRibbonButton

Costruisce un oggetto pulsante della barra multifunzione.

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

Parametri

nID
[in] Specifica l'ID comando del pulsante.

lpszText
[in] Specifica l'etichetta di testo del pulsante.

nSmallImageIndex
[in] Specifica un indice in base zero dell'immagine piccola del pulsante nell'elenco di immagini della categoria padre.

nLargeImageIndex
[in] Specifica un indice in base zero dell'immagine grande del pulsante nell'elenco di immagini della categoria padre.

hIcon
[in] Specifica un handle per l'icona usata dall'applicazione come immagine del pulsante.

Esempio

Nell'esempio seguente viene illustrato come costruire un CMFCRibbonButton oggetto .

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

Parametri

[in] pDC
[in] bCalcOnly

Valore restituito

Osservazioni:

CMFCRibbonButton::D rawImage

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

Parametri

[in] pDC
[in] digitare
[in] rectImage

Osservazioni:

CMFCRibbonButton::D rawRibbonText

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

Parametri

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

Valore restituito

Osservazioni:

CMFCRibbonButton::FindSubItemIndexByID

Restituisce l'indice di una voce di menu a comparsa associata all'ID di comando.

int FindSubItemIndexByID(UINT uiID) const;

Parametri

uiID
[in] Specifica l'ID comando della voce di menu a comparsa.

Valore restituito

Indice in base zero dell'elemento secondario associato all'uiID. -1 se non esiste un elemento secondario di questo tipo.

CMFCRibbonButton::GetCommandRect

CRect GetCommandRect() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

Parametri

[in] pDC

Valore restituito

Osservazioni:

CMFCRibbonButton::GetIcon

HICON GetIcon(BOOL bLargeIcon = TRUE) const;

Parametri

[in] bLargeIcon

Valore restituito

Osservazioni:

CMFCRibbonButton::GetImageIndex

Restituisce l'indice dell'immagine associata al pulsante.

int GetImageIndex(BOOL bLargeImage) const;

Parametri

bLargeImage
[in] Se TRUE, restituisce l'indice dell'immagine nell'elenco di immagini che contiene le immagini di grandi dimensioni; in caso contrario restituisce l'indice dell'immagine nell'elenco di immagini che contiene le immagini di piccole dimensioni.

Valore restituito

Indice dell'immagine del pulsante nell'elenco di immagini associato.

CMFCRibbonButton::GetImageSize

virtual CSize GetImageSize(RibbonImageType type) const;

Parametri

[in] digitare

Valore restituito

Osservazioni:

CMFCRibbonButton::GetIntermediateSize

virtual CSize GetIntermediateSize(CDC* pDC);

Parametri

[in] pDC

Valore restituito

Osservazioni:

CMFCRibbonButton::GetMenu

Restituisce un handle a un menu di Windows assegnato al pulsante della barra multifunzione.

HMENU GetMenu() const;

Valore restituito

Handle a un menu di Windows assegnato al pulsante; NULL se non è stato assegnato alcun menu.

CMFCRibbonButton::GetMenuRect

CRect GetMenuRect() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

Parametri

[in] pDC

Valore restituito

Osservazioni:

CMFCRibbonButton::GetSubItems

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

Valore restituito

Osservazioni:

CMFCRibbonButton::GetTextRowHeight

int GetTextRowHeight() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::GetToolTipText

virtual CString GetToolTipText() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::HasCompactMode

virtual BOOL HasCompactMode() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::HasIntermediateMode

virtual BOOL HasIntermediateMode() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::HasLargeMode

virtual BOOL HasLargeMode() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::HasMenu

virtual BOOL HasMenu() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsAlwaysDrawBorder

virtual BOOL IsAlwaysDrawBorder() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsAlwaysLargeImage

virtual BOOL IsAlwaysLargeImage() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsApplicationButton

virtual BOOL IsApplicationButton() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsCommandAreaHighlighted

virtual BOOL IsCommandAreaHighlighted() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsDefaultCommand

Specifica se il comando predefinito per un pulsante della barra multifunzione è abilitato.

BOOL IsDefaultCommand() const;

Valore restituito

TRUE se è stato abilitato il comando predefinito per un pulsante della barra multifunzione; FALSE in caso contrario.

CMFCRibbonButton::IsDefaultPanelButton

virtual BOOL IsDefaultPanelButton() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsDrawTooltipImage

virtual BOOL IsDrawTooltipImage() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsLargeImage

BOOL IsLargeImage() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsMenuAreaHighlighted

virtual BOOL IsMenuAreaHighlighted() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsMenuOnBottom

BOOL IsMenuOnBottom() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsPopupDefaultMenuLook

virtual BOOL IsPopupDefaultMenuLook() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::IsRightAlignMenu

Specifica se il menu è allineato a destra.

BOOL IsRightAlignMenu() const;

Valore restituito

TRUE se il menu è allineato a destra; in caso contrario FALSE.

CMFCRibbonButton::IsSingleLineText

BOOL IsSingleLineText() const;

Valore restituito

Osservazioni:

CMFCRibbonButton::OnCalcTextSize

virtual void OnCalcTextSize(CDC* pDC);

Parametri

[in] pDC

Osservazioni:

CMFCRibbonButton::OnClick

Chiamato dal framework quando l'utente fa clic sul pulsante.

virtual void OnClick(CPoint point);

Parametri

point
[in] Specifica la posizione del clic del mouse.

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata se si desidera gestire questo evento.

CMFCRibbonButton::OnDraw

virtual void OnDraw(CDC* pDC);

Parametri

[in] pDC

Osservazioni:

CMFCRibbonButton::OnDrawBorder

virtual void OnDrawBorder(CDC* pDC);

Parametri

[in] pDC

Osservazioni:

CMFCRibbonButton::OnFillBackground

virtual COLORREF OnFillBackground(CDC* pDC);

Parametri

[in] pDC

Valore restituito

Osservazioni:

CMFCRibbonButton::RemoveAllSubItems

Rimuove tutte le voci di menu dal menu a comparsa.

void RemoveAllSubItems();

CMFCRibbonButton::RemoveSubItem

Rimuove una voce di menu dal menu a comparsa.

BOOL RemoveSubItem(int nIndex);

Parametri

nIndex
[in] Specifica l'indice in base zero della voce di menu da rimuovere.

Valore restituito

TRUE se l'elemento specificato è stato rimosso correttamente; in caso contrario, FALSE se nIndex è negativo o supera il numero di voci di menu nel menu a comparsa.

CMFCRibbonButton::SetACCData

Imposta i dati di accessibilità per il pulsante della barra multifunzione.

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

Parametri

pParent
Finestra padre per l'elemento della barra multifunzione.

data
Dati di accessibilità per l'elemento della barra multifunzione.

Valore restituito

Restituisce TRUE se ha esito positivo; in caso contrario FALSE.

Osservazioni:

CMFCRibbonButton::SetAlwaysLargeImage

Specifica se il pulsante visualizza un'immagine di grandi o piccole dimensioni quando l'utente comprime il pulsante.

void SetAlwaysLargeImage(BOOL bSet=TRUE);

Parametri

bSet
[in] Se TRUE, il pulsante visualizza un'immagine di grandi dimensioni. In caso contrario, il pulsante visualizza un'immagine piccola.

CMFCRibbonButton::SetDefaultCommand

Abilita il comando predefinito per il pulsante della barra multifunzione.

void SetDefaultCommand(BOOL bSet=TRUE);

Parametri

bSet
[in] Se TRUE, il pulsante può eseguire il comando predefinito. Se FALSE, il pulsante non può eseguire il comando predefinito.

Osservazioni:

bSet è rilevante solo quando il pulsante ha un menu. Se bSet è TRUE, il pulsante può eseguire il comando predefinito e il menu a comparsa assegnato viene visualizzato solo quando un utente fa clic sulla freccia sul bordo destro del pulsante. In caso contrario, il pulsante non può eseguire il comando predefinito e il menu a comparsa viene visualizzato indipendentemente dall'area del pulsante su cui l'utente fa clic.

CMFCRibbonButton::SetDescription

virtual void SetDescription(LPCTSTR lpszText);

Parametri

[in] lpszText

Osservazioni:

CMFCRibbonButton::SetImageIndex

Assegna un indice all'immagine del pulsante.

void SetImageIndex(
    int nIndex,
    BOOL bLargeImage);

Parametri

nIndex
[in] Specifica l'indice dell'immagine.

bLargeImage
[in] Se TRUE, l'indice specificato fa riferimento all'elenco di immagini di grandi dimensioni. In caso contrario, l'indice fa riferimento all'elenco delle immagini di piccole dimensioni.

CMFCRibbonButton::SetMenu

Assegna un menu a comparsa al pulsante della barra multifunzione.

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

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

Parametri

hMenu
Handle di un menu di Windows.

bIsDefaultCommand
Se TRUE, il pulsante può eseguire il comando predefinito; in caso contrario, il pulsante visualizza un menu a comparsa.

bRightAlign
Se TRUE, il menu è allineato a destra. In caso contrario, il menu è allineato a sinistra.

uiMenuResID
ID risorsa del menu.

Osservazioni:

Quando l'applicazione assegna il menu al pulsante, il pulsante visualizza una freccia sul lato destro. Se bIsDefaultCommand è TRUE, il menu viene visualizzato solo quando l'utente fa clic sulla freccia. Se l'utente fa clic sul pulsante, viene eseguito il relativo comando predefinito. Se bIsDefaultCommand è FALSE, il menu viene visualizzato facendo clic in un punto qualsiasi del pulsante.

CMFCRibbonButton::SetParentCategory

virtual void SetParentCategory(CMFCRibbonCategory* pParent);

Parametri

[in] pParent

Osservazioni:

CMFCRibbonButton::SetRightAlignMenu

Allinea il menu a comparsa al bordo del pulsante.

void SetRightAlignMenu(BOOL bSet=TRUE);

Parametri

bSet
[in] Se TRUE, il menu è allineato a destra. In caso contrario, il menu è allineato a sinistra

CMFCRibbonButton::SetText

virtual void SetText(LPCTSTR lpszText);

Parametri

[in] lpszText

Osservazioni:

Vedi anche

Grafico della gerarchia
Classi