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