Classe CMFCMenuBar

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

Sintassi

class CMFCMenuBar : public CMFCToolbar

Membri

Metodi pubblici

Nome Descrizione
CMFCMenuBar::AdjustLocations Esegue l'override di CMFCToolBar::AdjustLocations.
CMFCMenuBar::AllowChangeTextLabels Specifica se le etichette di testo possono essere visualizzate nelle immagini nei pulsanti della barra degli strumenti. (sostituzioni )CMFCToolBar::AllowChangeTextLabels.
CMFCMenuBar::AllowShowOnPaneMenu Esegue l'override di CPane::AllowShowOnPaneMenu.
CMFCMenuBar::CalcFixedLayout Calcola le dimensioni orizzontali della barra degli strumenti. (sostituzioni )CMFCToolBar::CalcFixedLayout.
CMFCMenuBar::CalcLayout Esegue l'override di CMFCToolBar::CalcLayout.
CMFCMenuBar::CalcMaxButtonHeight Calcola l'altezza massima dei pulsanti nella barra degli strumenti. (sostituzioni )CMFCToolBar::CalcMaxButtonHeight.
CMFCMenuBar::CanBeClosed Specifica se un utente può chiudere la barra degli strumenti. (sostituzioni )CMFCToolBar::CanBeClosed.
CMFCMenuBar::CanBeRestored Determina se il sistema può ripristinare uno stato originale di una barra degli strumenti dopo la personalizzazione. (sostituzioni )CMFCToolBar::CanBeRestored.
CMFCMenuBar::Create Crea un controllo menu e lo collega a un CMFCMenuBar oggetto .
CMFCMenuBar::CreateEx Crea un CMFCMenuBar oggetto con opzioni di stile aggiuntive.
CMFCMenuBar::CreateFromMenu Inizializza un oggetto CMFCMenuBar. Accetta un parametro HMENU che funge da modello per un oggetto popolato CMFCMenuBar.
CMFCMenuBar::EnableHelpCombobox Abilita una casella combinata della Guida che si trova sul lato destro della barra dei menu.
CMFCMenuBar::EnableMenuShadows Specifica se visualizzare le ombreggiature per i menu a comparsa.
CMFCMenuBar::GetAvailableExpandSize (sostituzioni )CPane::GetAvailableExpandSize.
CMFCMenuBar::GetColumnWidth Restituisce la larghezza dei pulsanti della barra degli strumenti. (sostituzioni )CMFCToolBar::GetColumnWidth.
CMFCMenuBar::GetDefaultMenu Restituisce un handle al menu originale nel file di risorse.
CMFCMenuBar::GetDefaultMenuResId Restituisce l'identificatore della risorsa per il menu originale nel file di risorse.
CMFCMenuBar::GetFloatPopupDirection
CMFCMenuBar::GetForceDownArrows
CMFCMenuBar::GetHelpCombobox Restituisce un puntatore alla casella combinata ?
CMFCMenuBar::GetHMenu Restituisce l'handle al menu associato all'oggetto CMFCMenuBar .
CMFCMenuBar::GetMenuFont Restituisce il tipo di carattere globale corrente per gli oggetti menu.
CMFCMenuBar::GetMenuItem Restituisce il pulsante della barra degli strumenti associato all'indice dell'elemento specificato.
CMFCMenuBar::GetRowHeight Restituisce l'altezza dei pulsanti della barra degli strumenti. (sostituzioni )CMFCToolBar::GetRowHeight.
CMFCMenuBar::GetSystemButton
CMFCMenuBar::GetSystemButtonsCount
CMFCMenuBar::GetSystemMenu
CMFCMenuBar::HighlightDisabledItems Indica se le voci di menu disabilitate sono evidenziate.
CMFCMenuBar::IsButtonExtraSizeAvailable Determina se la barra degli strumenti può visualizzare pulsanti con bordi estesi. (sostituzioni )CMFCToolBar::IsButtonExtraSizeAvailable.
CMFCMenuBar::IsHighlightDisabledItems Indica se gli elementi disabilitati sono evidenziati.
CMFCMenuBar::IsMenuShadows Indica se le ombreggiature vengono disegnate per i menu a comparsa.
CMFCMenuBar::IsRecentlyUsedMenus Indica se i comandi di menu usati di recente vengono visualizzati sulla barra dei menu.
CMFCMenuBar::IsShowAllCommands Indica se i menu a comparsa visualizzano tutti i comandi.
CMFCMenuBar::IsShowAllCommandsDelay Indica se i menu visualizzano tutti i comandi dopo un breve ritardo.
CMFCMenuBar::LoadState Carica lo stato dell'oggetto CMFCMenuBar dal Registro di sistema.
CMFCMenuBar::OnChangeHot Chiamato dal framework quando un utente seleziona un pulsante sulla barra degli strumenti. (sostituzioni )CMFCToolBar::OnChangeHot.)
CMFCMenuBar::OnDefaultMenuLoaded Chiamato dal framework quando una finestra cornice carica il menu predefinito dal file di risorse.
CMFCMenuBar::OnSendCommand Esegue l'override di CMFCToolBar::OnSendCommand.
CMFCMenuBar::OnSetDefaultButtonText Chiamato dal framework quando un menu è in modalità di personalizzazione e l'utente modifica il testo di una voce di menu.
CMFCMenuBar::OnToolHitTest Esegue l'override di CMFCToolBar::OnToolHitTest.
CMFCMenuBar::P reTranslateMessage Esegue l'override di CMFCToolBar::PreTranslateMessage.
CMFCMenuBar::RestoreOriginalstate Chiamato dal framework quando un menu è in modalità di personalizzazione e l'utente seleziona Reimposta per una barra dei menu.
CMFCMenuBar::SaveState Salva lo stato dell'oggetto CMFCMenuBar nel Registro di sistema.
CMFCMenuBar::SetDefaultMenuResId Imposta il menu originale nel file di risorse.
CMFCMenuBar::SetForceDownArrows
CMFCMenuBar::SetMaximizeMode Chiamato dal framework quando una finestra figlio MDI cambia la modalità di visualizzazione. Se la finestra figlio MDI è appena ingrandita o non è più ingrandita, questo metodo aggiorna la barra dei menu.
CMFCMenuBar::SetMenuButtonRTC Imposta le informazioni sulla classe di runtime generate quando l'utente crea dinamicamente pulsanti di menu.
CMFCMenuBar::SetMenuFont Imposta il tipo di carattere per tutti i menu nell'applicazione.
CMFCMenuBar::SetRecentlyUsedMenus Specifica se una barra dei menu visualizza i comandi di menu usati di recente.
CMFCMenuBar::SetShowAllCommands Specifica se la barra dei menu mostra tutti i comandi.

Osservazioni:

La CMFCMenuBar classe è una barra dei menu che implementa la funzionalità di ancoraggio. È simile a una barra degli strumenti, anche se non può essere chiusa, ma viene sempre visualizzata.

CMFCMenuBar supporta l'opzione di visualizzazione degli oggetti voce di menu usati di recente. Se questa opzione è abilitata, CMFCMenuBar visualizza solo un subset dei comandi disponibili alla prima visualizzazione. Successivamente, i comandi usati di recente vengono visualizzati insieme al subset originale di comandi. Inoltre, l'utente può sempre espandere il menu per visualizzare tutti i comandi disponibili. Pertanto, ogni comando disponibile è configurato per la visualizzazione costante o per la visualizzazione solo se è stato selezionato di recente.

Per usare un CMFCMenuBar oggetto , incorporarlo nell'oggetto cornice della finestra principale. Quando si elabora il WM_CREATE messaggio, chiamare CMFCMenuBar::Create o CMFCMenuBar::CreateEx. Indipendentemente dalla funzione di creazione usata, passare un puntatore alla finestra cornice principale. Abilitare quindi l'ancoraggio chiamando CFrameWndEx::EnableDocking. Ancorare questo menu chiamando CFrameWndEx::D ockPane.

Esempio

L'esempio seguente illustra come usare i vari metodi nella classe CMFCMenuBar . L'esempio mostra come impostare lo stile del riquadro, abilitare il pulsante personalizza, abilitare una casella della Guida, abilitare le ombreggiature per i menu a comparsa e aggiornare la barra dei menu. Questo frammento di codice fa parte dell'esempio demo di Internet Explorer.

CMFCMenuBar m_wndMenuBar;
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC);
m_wndMenuBar.EnableCustomizeButton(TRUE, -1, _T(""));
// first parameter is the command ID for the button of the Help combo box
// third parameter is the width of the button for the combo box in pixels.
m_wndMenuBar.EnableHelpCombobox(1, _T("enter text here"), 30);
m_wndMenuBar.EnableMenuShadows();
m_wndMenuBar.SetMaximizeMode(true);

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCMenuBar

Requisiti

Intestazione: afxmenubar.h

CMFCMenuBar::AdjustLocations

Regola le posizioni delle voci di menu sulla barra dei menu.

virtual void AdjustLocations();

Osservazioni:

CMFCMenuBar::AllowChangeTextLabels

Determina se le etichette di testo sono consentite nelle immagini nella barra dei menu.

virtual BOOL AllowChangeTextLabels() const;

Valore restituito

Restituisce TRUE se l'utente può scegliere di visualizzare le etichette di testo nelle immagini.

Osservazioni:

CMFCMenuBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

Valore restituito

Osservazioni:

CMFCMenuBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parametri

[in] bStretch

[in] bHorz

Valore restituito

Osservazioni:

CMFCMenuBar::CalcLayout

virtual CSize CalcLayout(
    DWORD dwMode,
    int nLength = -1);

Parametri

[in] dwMode

[in] nLength

Valore restituito

Osservazioni:

CMFCMenuBar::CalcMaxButtonHeight

virtual int CalcMaxButtonHeight();

Valore restituito

Osservazioni:

CMFCMenuBar::CanBeClosed

virtual BOOL CanBeClosed() const;

Valore restituito

Osservazioni:

CMFCMenuBar::CanBeRestored

virtual BOOL CanBeRestored() const;

Valore restituito

Osservazioni:

CMFCMenuBar::Create

Crea un controllo menu e lo collega a un oggetto CMFCMenuBar .

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,
    UINT nID = AFX_IDW_MENUBAR);

Parametri

pParentWnd
[in] Puntatore alla finestra padre per il nuovo CMFCMenuBar oggetto.

dwStyle
[in] Stile della nuova barra dei menu.

nID
[in] ID della finestra figlio della barra dei menu.

Valore restituito

TRUE se l'operazione riesce; in caso contrario, FALSE.

Osservazioni:

Dopo aver costruito un CMFCMenuBar oggetto, è necessario chiamare Create. Questo metodo crea il CMFCMenuBar controllo e lo collega all'oggetto CMFCMenuBar .

Per altre informazioni sugli stili della barra degli strumenti, vedere CBasePane::SetPaneStyle.

CMFCMenuBar::CreateEx

Crea un oggetto CMFCMenuBar con gli stili estesi specificati.

virtual BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = TBSTYLE_FLAT,
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,
    CRect rcBorders = CRect(1,
    1,
    1,
    1),
    UINT nID =AFX_IDW_MENUBAR);

Parametri

pParentWnd
[in] Puntatore alla finestra padre del nuovo CMFCMenuBar oggetto.

dwCtrlStyle
[in] Stili aggiuntivi per la nuova barra dei menu.

dwStyle
[in] Stile principale della nuova barra dei menu.

rcBorders
[in] Parametro CRect che specifica le dimensioni per i bordi dell'oggetto CMFCMenuBar .

nID
[in] ID della finestra figlio della barra dei menu.

Valore restituito

Diverso da zero se il metodo ha esito positivo; in caso contrario, 0.

Osservazioni:

È consigliabile usare questa funzione anziché CMFCMenuBar::Create quando si desidera specificare gli stili oltre allo stile della barra degli strumenti. Alcuni stili aggiuntivi usati di frequente sono TBSTYLE_TRANSPARENT e CBRS_TOP.

Per gli elenchi di stili aggiuntivi, vedere Stili di controllo e pulsante della barra degli strumenti, stili di controllo comuni e stili di finestra comuni.

Esempio

Nell'esempio seguente viene illustrato come usare il CreateEx metodo della CMFCMenuBar classe . Questo frammento di codice fa parte dell'esempio demo di Internet Explorer.

CMFCMenuBar m_wndMenuBar;
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
if (!m_wndMenuBar.CreateEx(this, TBSTYLE_TRANSPARENT))
{
   TRACE0("Failed to create menubar\n");
   return -1; // fail to create
}

CMFCMenuBar::CreateFromMenu

Inizializza un oggetto CMFCMenuBar . Questo metodo modella l'oggetto CMFCMenuBar dopo un parametro HMENU.

virtual void CreateFromMenu(
    HMENU hMenu,
    BOOL bDefaultMenu = FALSE,
    BOOL bForceUpdate = FALSE);

Parametri

hMenu
[in] Handle per una risorsa di menu. CreateFromMenuusa questa risorsa come modello per .CMFCMenuBar

bDefaultMenu
[in] Valore booleano che indica se il nuovo menu è il menu predefinito.

bForceUpdate
[in] Valore booleano che indica se questo metodo forza l'aggiornamento di un menu.

Osservazioni:

Utilizzare questo metodo se si desidera che un controllo menu abbia le stesse voci di menu di una risorsa di menu. Questo metodo viene chiamato dopo aver chiamato CMFCMenuBar::Create o CMFCMenuBar::CreateEx.

CMFCMenuBar::EnableHelpCombobox

Abilita una casella combinata della Guida che si trova sul lato destro della barra dei menu.

void EnableHelpCombobox(
    UINT uiID,
    LPCTSTR lpszPrompt = NULL,
    int nComboBoxWidth = 150);

Parametri

uiID
[in] ID comando per il pulsante della casella combinata ?

lpszPrompt
[in] Stringa che contiene il testo visualizzato dal framework nella casella combinata se è vuoto e non attivo. Ad esempio, "Immettere il testo qui".

nComboBoxWidth
[in] Larghezza del pulsante per la casella combinata in pixel.

Osservazioni:

La casella combinata Guida è simile alla casella combinata ? nella barra dei menu di Microsoft Word.

Quando si chiama questo metodo con uiID impostato su 0, questo metodo nasconde la casella combinata. In caso contrario, questo metodo visualizza automaticamente la casella combinata sul lato destro della barra dei menu. Dopo aver chiamato questo metodo, chiamare CMFCMenuBar::GetHelpCombobox per ottenere un puntatore all'oggetto CMFCToolBarComboBoxButton inserito.

CMFCMenuBar::EnableMenuShadows

Abilita le ombreggiature per i menu a comparsa.

static void EnableMenuShadows(BOOL bEnable = TRUE);

Parametri

bEnable
[in] Parametro booleano che indica se le ombreggiature devono essere abilitate per i menu a comparsa.

Osservazioni:

L'algoritmo usato da questo metodo è complesso e può ridurre le prestazioni dell'applicazione nei sistemi più lenti.

CMFCMenuBar::GetAvailableExpandSize

virtual int GetAvailableExpandSize() const;

Valore restituito

Osservazioni:

CMFCMenuBar::GetColumnWidth

virtual int GetColumnWidth() const;

Valore restituito

Osservazioni:

CMFCMenuBar::GetDefaultMenu

Recupera un handle nel menu originale. Il framework carica il menu originale dal file di risorse.

HMENU GetDefaultMenu() const;

Valore restituito

Handle per una risorsa di menu.

Osservazioni:

Se l'applicazione personalizza un menu, è possibile usare questo metodo per recuperare un handle nel menu originale.

CMFCMenuBar::GetDefaultMenuResId

Recupera l'identificatore della risorsa per il menu predefinito.

UINT GetDefaultMenuResId() const;

Valore restituito

Identificatore di risorsa del menu.

Osservazioni:

Il framework carica il menu predefinito per l'oggetto CMFCMenuBar dal file di risorse.

CMFCMenuBar::GetFloatPopupDirection

int GetFloatPopupDirection(CMFCToolBarMenuButton* pButton);

Parametri

[in] pButton

Valore restituito

Osservazioni:

CMFCMenuBar::GetForceDownArrows

BOOL GetForceDownArrows();

Valore restituito

Osservazioni:

CMFCMenuBar::GetHelpCombobox

Restituisce un puntatore alla casella combinata ?

CMFCToolBarComboBoxButton* GetHelpCombobox();

Valore restituito

Puntatore alla casella combinata ? NULL se la casella combinata della Guida è nascosta o non è abilitata.

Osservazioni:

La casella combinata Guida si trova sul lato destro della barra dei menu. Chiamare il metodo CMFCMenuBar::EnableHelpCombobox per abilitare questa casella combinata.

CMFCMenuBar::GetHMenu

Recupera l'handle al menu associato all'oggetto CMFCMenuBar .

HMENU GetHMenu() const;

CMFCMenuBar::GetMenuFont

Recupera il tipo di carattere del menu corrente.

static const CFont& GetMenuFont(BOOL bHorz = TRUE);

Parametri

bHorz
[in] Parametro booleano che specifica se restituire il tipo di carattere orizzontale o verticale. TRUE indica il tipo di carattere orizzontale.

Valore restituito

Puntatore a un parametro CFont che contiene il tipo di carattere della barra dei menu corrente.

Osservazioni:

Il tipo di carattere restituito è un parametro globale per l'applicazione. Per tutti gli CMFCMenuBar oggetti vengono mantenuti due tipi di carattere globali. Questi tipi di carattere separati vengono usati per le barre dei menu orizzontali e verticali.

CMFCMenuBar::GetMenuItem

Recupera un oggetto CMFCToolBarButton su una barra dei menu in base all'indice dell'elemento.

CMFCToolBarButton* GetMenuItem(int iItem) const;

Parametri

iItem
[in] Indice della voce di menu da restituire.

Valore restituito

Puntatore all'oggetto CMFCToolBarButton che corrisponde all'indice specificato da iItem. NULL se l'indice non è valido.

CMFCMenuBar::GetRowHeight

virtual int GetRowHeight() const;

Valore restituito

Osservazioni:

CMFCMenuBar::GetSystemButton

CMFCToolBarMenuButtonsButton* GetSystemButton(
    UINT uiBtn,
    BOOL bByCommand = TRUE) const;

Parametri

[in] uiBtn

[in] bByCommand

Valore restituito

Osservazioni:

CMFCMenuBar::GetSystemButtonsCount

int GetSystemButtonsCount() const;

Valore restituito

Osservazioni:

CMFCMenuBar::GetSystemMenu

CMFCToolBarSystemMenuButton* GetSystemMenu() const;

Valore restituito

Osservazioni:

CMFCMenuBar::HighlightDisabledItems

Controlla se il framework evidenzia le voci di menu disabilitate.

static void HighlightDisabledItems(BOOL bHighlight = TRUE);

Parametri

bHighlight
[in] Parametro booleano che indica se il framework evidenzia le voci di menu non disponibili.

Osservazioni:

Per impostazione predefinita, il framework non evidenzia le voci di menu non disponibili quando l'utente posiziona il puntatore del mouse su di essi.

CMFCMenuBar::IsButtonExtraSizeAvailable

virtual BOOL IsButtonExtraSizeAvailable() const;

Valore restituito

Osservazioni:

CMFCMenuBar::IsHighlightDisabledItems

Indica se il framework evidenzia le voci di menu non disponibili.

static BOOL IsHighlightDisabledItems();

Valore restituito

TRUE se le voci di menu non disponibili sono evidenziate; in caso contrario FALSE.

Osservazioni:

Per impostazione predefinita, il framework non evidenzia le voci di menu non disponibili quando l'utente posiziona il puntatore del mouse su di essi. Usare il metodo CMFCMenuBar::HighlightDisabledItems per abilitare questa funzionalità.

CMFCMenuBar::IsMenuShadows

Indica se il framework disegna le ombreggiature per i menu a comparsa.

static BOOL IsMenuShadows();

Valore restituito

TRUE se il framework disegna ombreggiature di menu; in caso contrario FALSE.

Osservazioni:

Usare il metodo CMFCMenuBar::EnableMenuShadows per abilitare o disabilitare questa funzionalità.

CMFCMenuBar::IsRecentlyUsedMenus

Indica se i comandi di menu usati di recente vengono visualizzati sulla barra dei menu.

static BOOL IsRecentlyUsedMenus();

Valore restituito

Diverso da zero se l'oggetto CMFCMenuBar mostra i comandi di menu usati di recente; in caso contrario, 0.

Osservazioni:

Usare la funzione CMFCMenuBar::SetRecentlyUsedMenus per controllare se la barra dei menu mostra i comandi di menu usati di recente.

CMFCMenuBar::IsShowAllCommands

Indica se i menu visualizzano tutti i comandi.

static BOOL IsShowAllCommands();

Valore restituito

Diverso da zero se CMFCMenuBar visualizza tutti i comandi; in caso contrario, 0.

Osservazioni:

Un CMFCMenuBar oggetto può essere configurato per visualizzare tutti i comandi o visualizzare solo un subset di comandi. Per altre informazioni su questa funzionalità, vedere Classe CMFCMenuBar.

IsShowAllCommands indicherà come questa funzionalità è configurata per l'oggetto CMFCMenuBar . Per controllare quali comandi di menu vengono visualizzati, usare i metodi CMFCMenuBar::SetShowAllCommands e CMFCMenuBar::SetRecentlyUsedMenus.

CMFCMenuBar::IsShowAllCommandsDelay

Indica se l'oggetto CMFCMenuBar visualizza tutti i comandi dopo un breve ritardo.

static BOOL IsShowAllCommandsDelay();

Valore restituito

Diverso da zero se la barra dei menu visualizza i menu completi dopo un breve ritardo; in caso contrario, 0.

Osservazioni:

Quando si configura una barra dei menu per visualizzare le voci usate di recente, la barra dei menu visualizza il menu completo in uno dei due modi seguenti:

  • Visualizza il menu completo dopo un ritardo programmato da quando l'utente passa il cursore sulla freccia nella parte inferiore del menu.

  • Visualizzare il menu completo dopo che l'utente fa clic sulla freccia nella parte inferiore del menu.

Per impostazione predefinita, tutti gli CMFCMenuBar oggetti usano l'opzione per visualizzare il menu completo dopo un breve ritardo. Questa opzione non può essere modificata a livello di codice nella CMFCMenuBar classe . Tuttavia, un utente può modificare il comportamento durante la personalizzazione della barra degli strumenti tramite la finestra di dialogo Personalizza .

CMFCMenuBar::LoadState

Carica lo stato della barra dei menu dal Registro di sistema di Windows.

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT)-1);

Parametri

lpszProfileName
[in] Stringa che contiene il percorso di una chiave del Registro di sistema di Windows.

nIndex
[in] ID di controllo per la barra dei menu.

uiID
[in] Valore riservato.

Valore restituito

TRUE se il metodo ha avuto esito positivo; in caso contrario FALSE.

Osservazioni:

Utilizzare il metodo CMFCMenuBar::SaveState per salvare lo stato della barra dei menu nel Registro di sistema. Le informazioni salvate includono le voci di menu, lo stato del dock e la posizione della barra dei menu.

Nella maggior parte dei casi l'applicazione non chiama LoadState. Il framework chiama questo metodo quando inizializza l'area di lavoro.

CMFCMenuBar::OnChangeHot

virtual void OnChangeHot(int iHot);

Parametri

[in] iHot

Osservazioni:

CMFCMenuBar::OnDefaultMenuLoaded

Il framework chiama questo metodo quando carica la risorsa di menu dal file di risorse.

virtual void OnDefaultMenuLoaded(HMENU hMenu);

Parametri

hMenu
[in] Handle per il menu associato all'oggetto CMFCMenuBar .

Osservazioni:

L'implementazione predefinita di questa funzione non esegue alcuna operazione. Eseguire l'override di questa funzione per eseguire codice personalizzato dopo che il framework carica una risorsa di menu dal file di risorse.

CMFCMenuBar::OnSendCommand

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

Parametri

[in] pButton

Valore restituito

Osservazioni:

CMFCMenuBar::OnSetDefaultButtonText

Il framework chiama questo metodo quando l'utente modifica il testo di una voce nella barra dei menu.

virtual BOOL OnSetDefaultButtonText(CMFCToolBarButton* pButton);

Parametri

pButton
[in] Puntatore all'oggetto CMFCToolBarButton che l'utente desidera personalizzare.

Valore restituito

TRUE se il framework applica le modifiche dell'utente alla barra dei menu; in caso contrario FALSE.

Osservazioni:

L'implementazione predefinita per questo metodo modifica il testo del pulsante nel testo fornito dall'utente.

CMFCMenuBar::OnToolHitTest

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

Parametri

[in] punto

[in] Pti

Valore restituito

Osservazioni:

CMFCMenuBar::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametri

[in] pMsg

Valore restituito

Osservazioni:

CMFCMenuBar::RestoreOriginalstate

Chiamato dal framework quando l'utente seleziona Reimposta nella finestra di dialogo Personalizza .

virtual BOOL RestoreOriginalstate();

Valore restituito

Diverso da zero se il metodo ha esito positivo; in caso contrario, 0.

Osservazioni:

Questo metodo viene chiamato quando l'utente seleziona Reimposta dal menu di personalizzazione. È anche possibile chiamare manualmente questo metodo per reimpostare lo stato della barra dei menu a livello di codice. Questo metodo carica lo stato originale dal file di risorse.

Eseguire l'override di questo metodo se si desidera eseguire qualsiasi elaborazione quando l'utente seleziona l'opzione Reimposta .

CMFCMenuBar::SaveState

Salva lo stato dell'oggetto CMFCMenuBar nel Registro di sistema di Windows.

virtual BOOL SaveState (
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT)-1);

Parametri

lpszProfileName
[in] Stringa che contiene il percorso di una chiave del Registro di sistema di Windows.

nIndex
[in] ID di controllo per la barra dei menu.

uiID
[in] Valore riservato.

Valore restituito

TRUE se ha esito positivo; in caso contrario FALSE;

Osservazioni:

In genere, l'applicazione non chiama SaveState. Il framework chiama questo metodo quando l'area di lavoro viene serializzata. Per altre informazioni, vedere CWinAppEx::SaveState.

Le informazioni salvate includono le voci di menu, lo stato del dock e la posizione della barra dei menu.

CMFCMenuBar::SetDefaultMenuResId

Imposta il menu predefinito per un oggetto CMFCMenuBar in base all'ID risorsa.

void SetDefaultMenuResId(UINT uiResId);

Parametri

uiResId
[in] ID risorsa per il nuovo menu predefinito.

Osservazioni:

Il metodo CMFCMenuBar::RestoreOriginalstate ripristina il menu predefinito dal file di risorse.

Utilizzare il metodo CMFCMenuBar::GetDefaultMenuResId per recuperare il menu predefinito senza ripristinarlo.

CMFCMenuBar::SetForceDownArrows

void SetForceDownArrows(BOOL bValue);

Parametri

[in] bValue

Osservazioni:

CMFCMenuBar::SetMaximizeMode

Il framework chiama questo metodo quando un MDI modifica la modalità di visualizzazione e la barra dei menu deve essere aggiornata.

void SetMaximizeMode(
    BOOL bMax,
    CWnd* pWnd = NULL,
    BOOL bRecalcLayout = TRUE);

Parametri

bMax
[in] Valore booleano che specifica la modalità. Per ulteriori informazioni, vedere le sezione Note.

pWnd
[in] Puntatore alla finestra figlio MDI che cambia.

bRecalcLayout
[in] Valore booleano che specifica se il layout della barra dei menu deve essere ricalcolato immediatamente.

Osservazioni:

Quando una finestra figlio MDI è ingrandita, una barra dei menu collegata alla finestra cornice principale MDI visualizza il menu di sistema e i pulsanti Riduci a icona, Ingrandisci e Chiudi. Se bMax è TRUE e pWnd non è NULL, la finestra figlio MDI è ingrandita e la barra dei menu deve incorporare i controlli aggiuntivi. In caso contrario, la barra dei menu torna allo stato regolare.

CMFCMenuBar::SetMenuButtonRTC

Imposta le informazioni sulla classe di runtime usate dal framework quando l'utente crea pulsanti di menu.

void SetMenuButtonRTC(CRuntimeClass* pMenuButtonRTC);

Parametri

pMenuButtonRTC
[in] Informazioni CRuntimeClass per una classe derivata dalla classe CMFCMenuButton.

Osservazioni:

Quando un utente aggiunge nuovi pulsanti alla barra dei menu, il framework crea i pulsanti in modo dinamico. Per impostazione predefinita, crea CMFCMenuButton oggetti. Eseguire l'override di questo metodo per modificare il tipo di oggetti pulsante creati dal framework.

CMFCMenuBar::SetMenuFont

Imposta il tipo di carattere per tutte le barre dei menu nell'applicazione.

static BOOL SetMenuFont(
    LPLOGFONT lpLogFont,
    BOOL bHorz = TRUE);

Parametri

lpLogFont
[in] Puntatore a una struttura LOGFONT che definisce il tipo di carattere da impostare.

bHorz
[in] TRUE se si desidera utilizzare il parametro lpLogFont per il tipo di carattere verticale, FALSE se si desidera che venga utilizzato per il tipo di carattere orizzontale.

Valore restituito

TRUE se il metodo ha avuto esito positivo; in caso contrario FALSE.

Osservazioni:

Per tutti gli CMFCMenuBar oggetti vengono usati due tipi di carattere. Questi tipi di carattere separati vengono usati per le barre dei menu orizzontali e verticali.

Le impostazioni del tipo di carattere sono variabili globali e influiscono su tutti gli CMFCMenuBar oggetti.

CMFCMenuBar::SetRecentlyUsedMenus

Controlla se una barra dei menu visualizza i comandi di menu usati di recente.

static void SetRecentlyUsedMenus (BOOL bOn = TRUE);

Parametri

Bon
[in] Valore booleano che controlla se vengono visualizzati i comandi di menu usati di recente.

CMFCMenuBar::SetShowAllCommands

Controlla se un menu mostra tutti i comandi disponibili.

static void SetShowAllCommands(BOOL bShowAllCommands = TRUE);

Parametri

bShowAllCommands
[in] Parametro booleano che specifica se il menu a comparsa visualizza tutti i comandi di menu.

Osservazioni:

Se un menu non visualizza tutti i comandi di menu, nasconde i comandi usati raramente. Per altre informazioni sulla visualizzazione dei comandi di menu, vedere Classe CMFCMenuBar.

Vedi anche

Grafico della gerarchia
Classi
Classe CMFCToolBar