Condividi tramite


Classe CMFCPopupMenu

Implementa la funzionalità del menu di scelta rapida di Windows e la estende aggiungendo funzionalità quali menu con barra a comparsa e descrizioni comandi. Per altri dettagli, vedere il codice sorgente che si trova nella cartella VC\atlmfc\src\mfc dell'installazione di Visual Studio.

Sintassi

class CMFCPopupMenu : public CMiniFrameWnd

Membri

Costruttori protetti

Nome Descrizione
CMFCPopupMenu::CMFCPopupMenu Costruisce un oggetto CMFCPopupMenu.

Metodi pubblici

Nome Descrizione
CMFCPopupMenu::ActivatePopupMenu
CMFCPopupMenu::AlwaysShowEmptyToolsEntry Imposta un valore che indica se un menu a comparsa è abilitato per visualizzare voci vuote per gli strumenti definiti dall'utente.
CMFCPopupMenu::AreAllCommandsShown
CMFCPopupMenu::CheckArea Determina la posizione di un punto rispetto al menu a comparsa.
CMFCPopupMenu::CloseMenu
CMFCPopupMenu::Create Crea un menu a comparsa e lo collega all'oggetto CMFCPopupMenu .
CMFCPopupMenu::D efaultMouseClickOnClose
CMFCPopupMenu::EnableMenuLogo Inizializza il logo per un menu a comparsa.
CMFCPopupMenu::EnableMenuSound Abilita il suono del menu.
CMFCPopupMenu::EnableResize
CMFCPopupMenu::EnableScrolling
CMFCPopupMenu::EnableVertResize
CMFCPopupMenu::FindSubItemByCommand
CMFCPopupMenu::GetActiveMenu Restituisce il menu attualmente attivo.
CMFCPopupMenu::GetAnimationSpeed Restituisce la velocità di animazione per i menu a comparsa.
CMFCPopupMenu::GetAnimationType Restituisce il tipo corrente di animazione del menu a comparsa.
CMFCPopupMenu::GetDropDirection
CMFCPopupMenu::GetForceMenuFocus Indica se lo stato attivo viene restituito alla barra dei menu quando viene visualizzato un menu a comparsa.
CMFCPopupMenu::GetForceShadow
CMFCPopupMenu::GetHMenu Restituisce un handle alla risorsa di menu associata.
CMFCPopupMenu::GetMenuBar Restituisce il CMFCPopupMenuBar incorporato all'interno del menu a comparsa.
CMFCPopupMenu::GetMenuItem Restituisce un puntatore alla voce di menu in corrispondenza dell'indice specificato.
CMFCPopupMenu::GetMenuItemCount Restituisce il numero di elementi in un menu popup.
CMFCPopupMenu::GetMessageWnd Restituisce un puntatore alla finestra in cui il framework instrada i messaggi di menu a comparsa.
CMFCPopupMenu::GetParentArea
CMFCPopupMenu::GetParentButton Restituisce un puntatore al pulsante della barra degli strumenti padre.
CMFCPopupMenu::GetParentPopupMenu Restituisce un puntatore al menu a comparsa padre.
CMFCPopupMenu::GetParentRibbonElement
CMFCPopupMenu::GetParentToolBar Restituisce un puntatore alla barra degli strumenti padre.
CMFCPopupMenu::GetQuickCustomizeType
CMFCPopupMenu::GetSelItem Restituisce un puntatore al comando di menu attualmente selezionato.
CMFCPopupMenu::HasBeenResized
CMFCPopupMenu::HideRarelyUsedCommands Indica se il menu a comparsa può nascondere i comandi usati raramente.
CMFCPopupMenu::InCommand
CMFCPopupMenu::InsertItem Inserisce un nuovo elemento nel menu a comparsa nella posizione specificata.
CMFCPopupMenu::InsertSeparator Inserisce un separatore nel menu a comparsa nella posizione specificata.
CMFCPopupMenu::IsAlwaysClose
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry
CMFCPopupMenu::IsCustomizePane Indica se il menu a comparsa funziona come QuickCustomizePane.
CMFCPopupMenu::IsEscClose
CMFCPopupMenu::IsIdle Indica se un menu a comparsa è attualmente inattiva.
CMFCPopupMenu::IsMenuSound
CMFCPopupMenu::IsQuickCustomize Determina se la classe CMFCToolBarMenuButton associata è in modalità QuickCustomize.
CMFCPopupMenu::IsResizeble
CMFCPopupMenu::IsRightAlign Indica se il menu è allineato a destra o a sinistra.
CMFCPopupMenu::IsScrollable
CMFCPopupMenu::IsSendMenuSelectMsg Indica se il framework invia una notifica al frame padre quando l'utente seleziona un comando dal menu a comparsa.
CMFCPopupMenu::IsShown Indica se il menu a comparsa è attualmente visibile.
CMFCPopupMenu::MoveTo
CMFCPopupMenu::OnCmdMsg Esegue l'override di CFrameWnd::OnCmdMsg.
CMFCPopupMenu::P ostCommand
CMFCPopupMenu::P reTranslateMessage Esegue l'override di CFrameWnd::PreTranslateMessage.
CMFCPopupMenu::RecalcLayout Chiamato dal framework quando le barre di controllo standard vengono attivate o disattivate o quando la finestra cornice viene ridimensionata. (sostituzioni )CFrameWnd::RecalcLayout.
CMFCPopupMenu::RemoveAllItems Cancella tutti gli elementi da un menu a comparsa.
CMFCPopupMenu::RemoveItem Rimuove l'elemento specificato da un menu a comparsa.
CMFCPopupMenu::SaveState
CMFCPopupMenu::SetAnimationSpeed Imposta la velocità di animazione per i menu a comparsa.
CMFCPopupMenu::SetAnimationType Imposta il tipo di animazione per il menu a comparsa.
CMFCPopupMenu::SetAutoDestroy
CMFCPopupMenu::SetDefaultItem Imposta il comando predefinito per il menu a comparsa.
CMFCPopupMenu::SetForceMenuFocus Forza lo stato attivo di input per tornare alla barra dei menu quando viene visualizzato un menu a comparsa.
CMFCPopupMenu::SetForceShadow Forza il framework a disegnare le ombreggiature del menu quando i menu a comparsa vengono visualizzati all'esterno della cornice principale.
CMFCPopupMenu::SetMaxWidth Impostare la larghezza massima per il menu a comparsa.
CMFCPopupMenu::SetMessageWnd
CMFCPopupMenu::SetParentRibbonElement
CMFCPopupMenu::SetQuickCustomizeType
CMFCPopupMenu::SetQuickMode
CMFCPopupMenu::SetRightAlign Imposta l'allineamento dei menu per i menu a comparsa.
CMFCPopupMenu::SetSendMenuSelectMsg Imposta un flag che controlla se il menu a comparsa notifica al frame padre quando l'utente seleziona un comando.
CMFCPopupMenu::ShowAllCommands Forza il menu a comparsa per visualizzare tutti i comandi.
CMFCPopupMenu::TriggerResize
CMFCPopupMenu::UpdateAllShadows Aggiorna le ombreggiature per tutti i menu popup aperti.
CMFCPopupMenu::UpdateShadow Aggiorna l'ombreggiatura per il menu a comparsa.

Metodi protetti

Nome Descrizione
CMFCPopupMenu::CreateTearOffBar
CMFCPopupMenu::OnChangeHot
CMFCPopupMenu::OnChooseItem

Osservazioni:

In genere, MFC crea automaticamente menu a comparsa. Se si vuole creare manualmente un CMFCPopupMenu oggetto, assegnarne uno nell'heap e quindi chiamare CMFCPopupMenu::Create.

Esempio

Nell'esempio seguente viene illustrato come configurare un oggetto menu a comparsa. L'esempio mostra come impostare il logo e il suono del menu a comparsa, impostare la velocità e il tipo di animazione, disegnare ombreggiature del menu quando il menu a comparsa viene visualizzato all'esterno del fotogramma principale, impostare la larghezza massima e impostare l'allineamento del menu a destra del menu a comparsa. Questo frammento di codice fa parte dell'esempio pagine personalizzate.

// 30 is the size of the logo in pixels.
pPopupMenu->EnableMenuLogo(30);
pPopupMenu->EnableMenuSound();
// 500 is the animation speed in milliseconds.
pPopupMenu->SetAnimationSpeed(500);
pPopupMenu->SetAnimationType(CMFCPopupMenu::SLIDE);
pPopupMenu->SetForceShadow(true);
// 200 is the maximum width of the pop-up menu in pixels.
pPopupMenu->SetMaxWidth(200);
pPopupMenu->SetRightAlign();
pPopupMenu->InsertSeparator();

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CFrameWnd

CMiniFrameWnd

CMFCPopupMenu

Requisiti

Intestazione: afxpopupmenu.h

CMFCPopupMenu::ActivatePopupMenu

static BOOL __stdcall ActivatePopupMenu(
    CFrameWnd* pTopFrame,
    CMFCPopupMenu* pPopupMenu);

Parametri

[in] pTopFrame
[in] pPopupMenu

Valore restituito

Osservazioni:

CMFCPopupMenu::AlwaysShowEmptyToolsEntry

Imposta un valore che indica se un menu a comparsa è abilitato per visualizzare voci vuote per gli strumenti definiti dall'utente.

static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);

Parametri

bShow
[in] TRUE se il menu a comparsa può visualizzare voci vuote; FALSE in caso contrario.

CMFCPopupMenu::AreAllCommandsShown

BOOL AreAllCommandsShown() const;

Valore restituito

Osservazioni:

CMFCPopupMenu::CheckArea

Determina la posizione di un punto rispetto al menu a comparsa.

MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;

Parametri

ptScreen
[in] Punto, nelle coordinate dello schermo.

Valore restituito

Parametro MENUAREA_TYPE che indica dove il punto è relativo al menu a comparsa.

Osservazioni:

Un parametro MENUAREA_TYPE può avere uno dei valori seguenti.

  • OUTSIDE - ptScreen si trova all'esterno del menu a comparsa.

  • LOGO - ptScreen si trova su un'area logo.

  • TEAROFF_CAPTION : ptScreen è posizionato sulla didascalia di strappo.

  • SHADOW_BOTTOM : ptScreen si trova sopra l'ombreggiatura inferiore del menu a comparsa.

  • SHADOW_RIGHT - ptScreen si trova sopra l'ombreggiatura destra del menu a comparsa.

  • MENU : ptScreen si trova su un comando.

CMFCPopupMenu::CloseMenu

void CloseMenu(BOOL bSetFocusToBar = FALSE);

Parametri

[in] bSetFocusToBar

Osservazioni:

CMFCPopupMenu::CMFCPopupMenu

Costruisce un oggetto CMFCPopupMenu .

CMFCPopupMenu(
    CMFCToolBarsMenuPropertyPage* pCustPage,
    LPCTSTR lpszTitle);

Parametri

pCustPage
[in] Puntatore a una pagina di personalizzazione.

lpszTitle
[in] Stringa contenente la didascalia del menu.

Osservazioni:

Questo metodo alloca le risorse per un oggetto CMFCPopupMenu. Per creare la voce di menu a comparsa, chiamare CMFCPopupMenu::Create.

CMFCPopupMenu::Create

Crea un menu a comparsa e lo collega a un oggetto CMFCPopupMenu .

virtual BOOL Create(
    CWnd* pWndParent,
    int x,
    int y,
    HMENU hMenu,
    BOOL bLocked = FALSE,
    BOOL bOwnMessage = FALSE);

Parametri

pWndParent
[in] Finestra padre per l'oggetto CMFCPopupMenu.

x
[in] Coordinata dello schermo orizzontale per la posizione del menu a comparsa

y
[in] Coordinata verticale dello schermo per la posizione del menu a comparsa.

hMenu
[in] Handle per una risorsa di menu.

bloccato
[in] Parametro booleano che indica se il menu è personalizzabile. FALSE indica che il menu a comparsa è personalizzabile.

bOwnMessage
[in] Parametro booleano che indica come il framework instrada i messaggi di menu. Per altre informazioni, vedere le sezione Osservazioni.

Valore restituito

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

Osservazioni:

Se bOwnMessage è TRUE, il framework instrada tutti i messaggi di menu a pWndParent. pWndParent non deve essere NULL se bOwnMessage è TRUE. Se bOwnMessage è FALSE, il framework instrada i messaggi di menu al menu a comparsa padre.

Esempio

Nell'esempio seguente viene illustrato come usare il Create metodo della CMFCPopuMenu classe . Questo frammento di codice fa parte dell'esempio pagine personalizzate.

CMFCPopupMenu *pPopupMenu = new CMFCPopupMenu;
// CPoint point
// CMenu* pPopup
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
pPopupMenu->Create(this, point.x, point.y, pPopup->Detach());

CMFCPopupMenu::CreateTearOffBar

virtual CPane* CreateTearOffBar(
    CFrameWnd* pWndMain,
    UINT uiID,
    LPCTSTR lpszName);

Parametri

[in] pWndMain
[in] uiID
[in] lpszName

Valore restituito

Osservazioni:

CMFCPopupMenu::D efaultMouseClickOnClose

virtual BOOL DefaultMouseClickOnClose() const;

Valore restituito

Osservazioni:

Inizializza il logo per un menu a comparsa.

void EnableMenuLogo(
    int iLogoSize,
    LOGO_LOCATION nLogoLocation = MENU_LOGO_LEFT);

Parametri

iLogoSize
[in] Dimensioni del logo, in pixel.

nLogoLocation
[in] Tipo di dati enumerato che indica la posizione del logo.

Osservazioni:

Per visualizzare il logo, implementare il metodo CFrameWndEx::OnDrawMenuLogo nella finestra cornice principale.

I valori possibili per nLogoLocation sono MENU_LOGO_LEFT, MENU_LOGO_RIGHT, MENU_LOGO_TOP e MENU_LOGO_BOTTOM.

CMFCPopupMenu::EnableMenuSound

Abilita il suono del menu.

static void EnableMenuSound(BOOL bEnable = TRUE);

Parametri

bEnable
[in] TRUE per abilitare l'audio, FALSE in caso contrario.

Osservazioni:

Se si abilita l'audio, il framework chiama il metodo PlaySound quando un utente apre un menu a comparsa o seleziona un comando di menu. Per impostazione predefinita, questa funzionalità è abilitata.

CMFCPopupMenu::EnableResize

void EnableResize(CSize sizeMinResize);

Parametri

[in] sizeMinResize

Osservazioni:

CMFCPopupMenu::EnableScrolling

void EnableScrolling(BOOL = TRUE);

Parametri

[in] BOOL

Osservazioni:

CMFCPopupMenu::EnableVertResize

void EnableVertResize(int nMinResize);

Parametri

[in] nMinResize

Osservazioni:

CMFCPopupMenu::FindSubItemByCommand

CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;

Parametri

[in] uiCmd

Valore restituito

Osservazioni:

CMFCPopupMenu::GetActiveMenu

Restituisce il menu attualmente attivo.

static CMFCPopupMenu* GetActiveMenu();

Valore restituito

Puntatore al menu a comparsa attivo o NULL se non è attualmente attivo alcun menu a comparsa.

Osservazioni:

Ogni applicazione può avere al massimo un menu a comparsa attivo.

CMFCPopupMenu::GetAnimationSpeed

Restituisce la velocità di animazione per i menu a comparsa.

static UINT GetAnimationSpeed();

Valore restituito

Intero che indica il tempo, espresso in millisecondi, che richiede il completamento di un'animazione del menu a comparsa.

Osservazioni:

La velocità di animazione è un valore globale. Usa CMFCPopupMenu::SetAnimationSpeed per modificare la velocità di animazione per i menu a comparsa.

CMFCPopupMenu::GetAnimationType

Restituisce il tipo corrente di animazione popup.

static CMFCPopupMenu::ANIMATION_TYPE GetAnimationType(BOOL bNoSystem = FALSE);

Parametri

bNoSystem
[in] Parametro booleano che indica se questo metodo controlla il valore globale. FALSE se si desidera che questo metodo restituisca lo stile di animazione per questa istanza della classe CMFCPopupMenu.

Valore restituito

Valore enumerato che descrive il tipo di animazione.

Osservazioni:

Lo stile di animazione per i menu a comparsa è globale per l'applicazione. Usa CMFCPopupMenu::SetAnimationType per impostare lo stile di animazione.

Nella tabella seguente sono elencati i possibili tipi di animazione.

valore Descrizione
NO_ANIMATION Il menu a comparsa non è animato e viene visualizzato immediatamente.
SPIEGARE Il framework rivela il menu a comparsa dall'angolo superiore sinistro all'angolo inferiore destro.
DIAPOSITIVA Il menu a comparsa si sposta dall'alto verso il basso.
SBIADIRE Il menu a comparsa appare prima trasparente e gradualmente solidifica.

CMFCPopupMenu::GetDropDirection

DROP_DIRECTION GetDropDirection() const;

Valore restituito

Osservazioni:

CMFCPopupMenu::GetForceMenuFocus

Indica se lo stato attivo viene restituito alla barra dei menu quando viene visualizzato un menu a comparsa.

static BOOL GetForceMenuFocus();

Valore restituito

TRUE se lo stato attivo di input viene restituito alla barra dei menu quando viene visualizzato un menu a comparsa; FALSE se il menu a comparsa mantiene lo stato attivo.

Osservazioni:

Per impostazione predefinita, l'applicazione non restituisce lo stato attivo sulla barra dei menu. Per modificare questa impostazione, usare CMFCPopupMenu::SetForceMenuFocus.

CMFCPopupMenu::GetForceShadow

static BOOL __stdcall GetForceShadow();

Valore restituito

Osservazioni:

CMFCPopupMenu::GetHMenu

Restituisce un handle alla risorsa di menu associata.

HMENU GetHMenu();

CMFCPopupMenu::GetMenuBar

Restituisce il CMFCPopupMenuBar incorporato all'interno del menu a comparsa.

virtual CMFCPopupMenuBar* GetMenuBar();

Valore restituito

Puntatore all'oggetto incorporato CMFCPopupMenuBar.

Osservazioni:

Il menu a comparsa ha un oggetto incorporato CMFCPopupMenuBar . È necessario eseguire l'override di questo metodo in una classe derivata se si usa una classe incorporata diversa.

CMFCPopupMenu::GetMenuItem

Restituisce un puntatore alla voce di menu in corrispondenza dell'indice specificato.

CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;

Parametri

iIndex
[in] Indice in base zero di una voce di menu.

Valore restituito

Puntatore a una voce di menu. NULL se l'indice non è valido.

Osservazioni:

Le voci di menu sono rappresentate dalla classe CMFCToolBarMenuButton. Quando si chiama questo metodo, restituisce un puntatore all'oggetto appropriato CMFCToolBarMenuButton.

CMFCPopupMenu::GetMenuItemCount

Restituisce il numero di elementi in un menu a comparsa.

int GetMenuItemCount() const;

Valore restituito

Numero di voci nel menu.

CMFCPopupMenu::GetMessageWnd

Restituisce un puntatore alla finestra in cui il framework instrada i messaggi di menu a comparsa.

CWnd* GetMessageWnd() const;

Valore restituito

Puntatore alla finestra che riceve i messaggi di menu a comparsa; NULL se non è presente alcuna finestra.

Osservazioni:

Quando si usa il metodo CMFCPopupMenu::Create per creare un menu a comparsa, specificare la finestra che riceve i messaggi di menu.

CMFCPopupMenu::GetParentArea

virtual CWnd* GetParentArea(CRect& rectParentBtn);

Parametri

[in] rectParentBtn

Valore restituito

Osservazioni:

CMFCPopupMenu::GetParentButton

Restituisce un puntatore al pulsante della barra degli strumenti padre.

CMFCToolBarMenuButton* GetParentButton() const;

Valore restituito

Puntatore al pulsante della barra degli strumenti padre. NULL se il menu a comparsa non dispone di un pulsante della barra degli strumenti padre.

Osservazioni:

Un CMFCPopupMenu oggetto può essere associato a un pulsante nel menu. In questo scenario, il menu a comparsa viene visualizzato quando un utente seleziona il pulsante della barra degli strumenti padre.

Se il menu a comparsa è un menu di scelta rapida, non avrà alcun pulsante della barra degli strumenti padre.

CMFCPopupMenu::GetParentPopupMenu

Restituisce un puntatore al menu a comparsa padre.

CMFCPopupMenu* GetParentPopupMenu() const;

Valore restituito

Puntatore all'oggetto padre CMFCPopupMenu ; NULL se non è presente alcun menu a comparsa padre.

Osservazioni:

Un menu a comparsa ha un oggetto padre CMFCPopupMenu solo se si tratta di un sottomenu.

CMFCPopupMenu::GetParentRibbonElement

CMFCRibbonBaseElement* GetParentRibbonElement() const;

Valore restituito

Osservazioni:

CMFCPopupMenu::GetParentToolBar

Restituisce un puntatore alla barra degli strumenti padre.

CMFCToolBar* GetParentToolBar() const;

Valore restituito

Puntatore alla barra degli strumenti padre. NULL se il menu a comparsa non dispone di una barra degli strumenti padre.

Osservazioni:

CMFCPopupMenu Se è un menu di scelta rapida, non dispone di una barra degli strumenti padre.

CMFCPopupMenu::GetQuickCustomizeType

QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;

Valore restituito

Osservazioni:

CMFCPopupMenu::GetSelItem

Restituisce un puntatore al comando di menu attualmente selezionato.

CMFCToolBarMenuButton* GetSelItem();

Valore restituito

Puntatore al comando di menu attualmente selezionato; NULL se non è selezionato alcun elemento.

Osservazioni:

I comandi di menu in un menu a comparsa sono rappresentati dalla classe CMFCToolBarMenuButton o da una classe derivata da CMFCToolBarMenuButton.

CMFCPopupMenu::HasBeenResized

BOOL HasBeenResized() const;

Valore restituito

Osservazioni:

CMFCPopupMenu::HideRarelyUsedCommands

Indica se il menu a comparsa può nascondere i comandi usati raramente.

BOOL HideRarelyUsedCommands() const;

Valore restituito

TRUE se il menu a comparsa può nascondere i comandi usati raramente; in caso contrario FALSE.

Osservazioni:

Questo metodo specifica solo se un menu a comparsa può nascondere i comandi usati raramente, non se tale configurazione è abilitata. Un menu a comparsa può nascondere i comandi usati raramente se ha un pulsante padre e la finestra padre è derivata dalla classe CMFCMenuBar. Usare CMFCMenuBar::SetRecentlyUsedMenus per abilitare questa funzionalità e CMFCMenuBar::IsRecentlyUsedMenus per determinare se questa funzionalità è attualmente abilitata. È necessario chiamare entrambi questi metodi per la finestra padre.

CMFCPopupMenu::InCommand

virtual BOOL InCommand();

Valore restituito

Osservazioni:

CMFCPopupMenu::InsertItem

Inserisce un nuovo elemento nel menu a comparsa nella posizione specificata.

int InsertItem(
    const CMFCToolBarMenuButton& button,
    int iInsertA = -1);

Parametri

pulsante
[in] Riferimento alla voce di menu da aggiungere.

iInsertAt
[in] Indice in base zero per il nuovo elemento. Se iInsertAt è -1, l'elemento viene aggiunto alla fine del menu.

Valore restituito

Indice in base zero della posizione in cui è stato inserito l'elemento. -1 se il metodo ha esito negativo.

Osservazioni:

Questo metodo avrà esito negativo se si specifica un valore non valido per iInsertAt, ad esempio un numero intero maggiore del numero di elementi attualmente presenti nel menu a comparsa.

CMFCPopupMenu::InsertSeparator

Inserisce un separatore nel menu a comparsa nella posizione specificata.

int InsertSeparator(int iInsertAt = -1);

Parametri

iInsertAt
[in] Indice in base zero della posizione in cui questo metodo inserisce il separatore.

Valore restituito

Indice in base zero della posizione in cui è stato inserito il separatore. -1 se questo metodo ha esito negativo.

Osservazioni:

Il valore -1 per iInsertAt indica che questo metodo aggiungerà il separatore alla fine del menu a comparsa.

Questo metodo ha esito negativo se iInsertAt è un valore non valido.

CMFCPopupMenu::IsAlwaysClose

virtual BOOL IsAlwaysClose() const;

Valore restituito

Osservazioni:

CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry

static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();

Valore restituito

Osservazioni:

CMFCPopupMenu::IsCustomizePane

Indica se il menu a comparsa funziona come QuickCustomizePane.

BOOL IsCustomizePane();

Valore restituito

TRUE se il popup è un QuckCustomizePane; in caso contrario, FALSE.

Osservazioni:

Usare QuickCustomizePane per consentire all'utente di personalizzare direttamente il menu a comparsa. QuickCustomizePane è un oggetto CMFCPopupMenu visualizzato quando l'utente fa clic su un pulsante della barra degli strumenti per modificarlo direttamente.

L'applicazione deve chiamare questo metodo durante CMDIFrameWndEx::OnShowCustomizePane.

CMFCPopupMenu::IsEscClose

BOOL IsEscClose();

Valore restituito

Osservazioni:

CMFCPopupMenu::IsIdle

Indica se un menu a comparsa è attualmente inattiva.

virtual BOOL IsIdle() const;

Valore restituito

TRUE se il menu a comparsa è in modalità inattiva; in caso contrario FALSE.

Osservazioni:

Per impostazione predefinita, un menu a comparsa è in modalità inattiva se l'animazione dello schermo è completa e l'utente non scorre il menu a comparsa.

CMFCPopupMenu::IsMenuSound

static UINT __stdcall IsMenuSound();

Valore restituito

Osservazioni:

CMFCPopupMenu::IsQuickCustomize

Determina se la classe CMFCToolBarMenuButton associata è in modalità QuickCustomize.

BOOL IsQuickCustomize();

Valore restituito

TRUE se il pulsante di menu associato è in modalità QuickCustomize; in caso contrario FALSE. Questo metodo restituirà anche FALSE se il menu a comparsa non è associato a un oggetto CMFCToolBarMenuButton.

Osservazioni:

In modalità QuickCustomize l'utente seleziona un pulsante su una barra degli strumenti per personalizzare direttamente il pulsante.

CMFCPopupMenu::IsResizeble

BOOL IsResizeble() const;

Valore restituito

Osservazioni:

CMFCPopupMenu::IsRightAlign

Indica se il menu è allineato a destra o a sinistra.

BOOL IsRightAlign() const;

Valore restituito

TRUE se il menu è allineato a destra; FALSE se il menu è allineato a sinistra.

Osservazioni:

È possibile usare CMFCPopupMenu::SetRightAlign per impostare l'allineamento del menu. Per impostazione predefinita, i menu a comparsa usano l'allineamento a sinistra.

L'allineamento dei menu non è un'impostazione globale e può variare tra i menu a comparsa.

CMFCPopupMenu::IsScrollable

BOOL IsScrollable() const;

Valore restituito

Osservazioni:

CMFCPopupMenu::IsSendMenuSelectMsg

Indica se il framework invia una notifica al frame padre quando l'utente seleziona un comando dal menu a comparsa.

static BOOL IsSendMenuSelectMsg();

Valore restituito

TRUE se il framework invia una notifica al frame padre; in caso contrario FALSE.

Osservazioni:

Il framework notifica al frame padre inviando il messaggio di WM_MENUSELECT quando un oggetto utilizzato seleziona un comando di menu.

CMFCPopupMenu::IsShown

Indica se il menu a comparsa è attualmente visibile.

BOOL IsShown() const;

Valore restituito

TRUE se è visibile un menu a comparsa; in caso contrario FALSE.

CMFCPopupMenu::MoveTo

void MoveTo(const CPoint& pt);

Parametri

[in] Pt

Osservazioni:

CMFCPopupMenu::OnChangeHot

virtual void OnChangeHot(int nHot);

Parametri

[in] nHot

Osservazioni:

CMFCPopupMenu::OnChooseItem

virtual void OnChooseItem(UINT uidCmdID);

Parametri

[in] uidCmdID

Osservazioni:

CMFCPopupMenu::OnCmdMsg

virtual BOOL OnCmdMsg(
    UINT nID,
    int nCode,
    void* pExtra,
    AFX_CMDHANDLERINFO* pHandlerInfo);

Parametri

[in] nID
[in] nCode
[in] pExtra
[in] pHandlerInfo

Valore restituito

Osservazioni:

CMFCPopupMenu::P ostCommand

BOOL PostCommand(UINT uiCommandID);

Parametri

[in] uiCommandID

Valore restituito

Osservazioni:

CMFCPopupMenu::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parametri

[in] pMsg

Valore restituito

Osservazioni:

CMFCPopupMenu::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parametri

[in] bNotify

Osservazioni:

CMFCPopupMenu::RemoveAllItems

Cancella tutti gli elementi da un menu a comparsa.

void RemoveAllItems();

CMFCPopupMenu::RemoveItem

Rimuove l'elemento specificato dal menu a comparsa.

BOOL RemoveItem(int iIndex);

Parametri

iIndex
[in] Indice in base zero dell'elemento da eliminare.

Valore restituito

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

Osservazioni:

Questo metodo dispone automaticamente tutti i separatori interessati dalla rimozione di un elemento. Per altre informazioni sul modo in cui il framework riorganizza i separatori, vedere CMFCToolBar::RemoveButton.

CMFCPopupMenu::SaveState

virtual void SaveState();

Osservazioni:

CMFCPopupMenu::SetAnimationSpeed

Imposta la velocità di animazione per i menu a comparsa.

static void SetAnimationSpeed(UINT nElapse);

Parametri

nElapse
[in] Nuova velocità di animazione, espressa in millisecondi.

Osservazioni:

La velocità di animazione è un valore globale e influisce su tutti i menu popup nell'applicazione. Questo valore specifica il tempo necessario per completare l'animazione per il completamento di un menu a comparsa.

Per impostazione predefinita, questo parametro è impostato su 30 millisecondi. L'intervallo di valori validi per nElapse è compreso tra 0 e 200.

CMFCPopupMenu::SetAnimationType

Imposta il tipo di animazione per questo menu a comparsa.

static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Parametri

type
[in] Tipo di dati enumerato che specifica il tipo di animazione.

Osservazioni:

Per un elenco di valori validi per il tipo, vedere CMFCPopupMenu::GetAnimationType.

CMFCPopupMenu::SetAutoDestroy

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

Parametri

[in] bAutoDestroy

Osservazioni:

CMFCPopupMenu::SetDefaultItem

Imposta il comando predefinito per il menu a comparsa.

void SetDefaultItem(UINT uiCmd);

Parametri

uiCmd
[in] ID del comando di menu del nuovo comando predefinito.

Osservazioni:

Il comando predefinito nel menu a comparsa è il comando selezionato quando viene visualizzato il menu a comparsa.

CMFCPopupMenu::SetForceMenuFocus

Forza lo stato attivo di input per tornare alla barra dei menu quando viene visualizzato un menu a comparsa.

static void SetForceMenuFocus(BOOL bValue);

Parametri

bValue
[in] TRUE se si desidera che il framework forza lo stato attivo di input sulla barra dei menu quando viene visualizzato un menu a comparsa. FALSE se si desidera che il menu a comparsa mantenga lo stato attivo.

Osservazioni:

Questo metodo imposta un flag globale per tutti i menu a comparsa nell'applicazione. Per impostazione predefinita, questa funzionalità non è abilitata.

CMFCPopupMenu::SetForceShadow

Forza il framework a disegnare le ombreggiature del menu quando i menu a comparsa vengono visualizzati all'esterno della cornice principale.

static void SetForceShadow(BOOL bValue);

Parametri

bValue
[in] TRUE se si desidera che il framework disegnare le ombreggiature del menu, FALSE in caso contrario.

Osservazioni:

Quando si chiama questo metodo, viene impostato un flag globale nell'applicazione. Questo flag influisce su tutti i menu a comparsa nell'applicazione.

CMFCPopupMenu::SetMaxWidth

Impostare la larghezza massima per il menu a comparsa.

void SetMaxWidth(int iMaxWidth);

Parametri

iMaxWidth
[in] Larghezza massima per il menu a comparsa, in pixel.

Osservazioni:

Se il testo associato a un comando di menu non rientra nella larghezza massima, viene troncato e la parte che non rientra viene sostituita da tre punti.

CMFCPopupMenu::SetMessageWnd

void SetMessageWnd(CWnd* pMsgWnd);

Parametri

[in] pMsgWnd

Osservazioni:

CMFCPopupMenu::SetParentRibbonElement

void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);

Parametri

[in] pElem

Osservazioni:

CMFCPopupMenu::SetQuickCustomizeType

void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);

Parametri

[in] Digitare

Osservazioni:

CMFCPopupMenu::SetQuickMode

void SetQuickMode();

Osservazioni:

CMFCPopupMenu::SetRightAlign

Imposta l'allineamento dei menu per i menu a comparsa.

void SetRightAlign(BOOL bRightAlign = TRUE);

Parametri

bRightAlign
[in] Valore booleano che indica l'allineamento del menu. TRUE indica l'allineamento a destra, FALSE indica l'allineamento a sinistra.

Osservazioni:

Per impostazione predefinita, tutti i menu a comparsa sono allineati a sinistra.

CMFCPopupMenu::SetSendMenuSelectMsg

Imposta un flag che controlla se il menu a comparsa notifica al frame padre quando l'utente seleziona un comando.

static void SetSendMenuSelectMsg(BOOL bSet = TRUE);

Parametri

bSet
[in] TRUE se il menu a comparsa notifica la cornice padre, FALSE in caso contrario.

Osservazioni:

Si tratta di un'opzione globale per tutti i menu a comparsa in un'applicazione. Se è abilitata, i menu a comparsa invieranno un messaggio WM_MENUSELECT al frame padre quando l'utente seleziona un comando.

CMFCPopupMenu::ShowAllCommands

Forza il menu a comparsa per visualizzare tutti i comandi.

void ShowAllCommands();

Osservazioni:

Questa impostazione non è globale e influisce solo sul menu a comparsa corrente.

CMFCPopupMenu::TriggerResize

void TriggerResize();

Osservazioni:

CMFCPopupMenu::UpdateAllShadows

Aggiorna le ombreggiature per tutti i menu popup aperti.

static void UpdateAllShadows(LPRECT lprectScreen = NULL);

Parametri

lprectScreen
[in] Rettangolo che specifica l'area da aggiornare, nelle coordinate dello schermo.

Osservazioni:

Questo metodo è utile quando i menu a comparsa vengono visualizzati su controlli animati o altre finestre con contenuto dinamico.

CMFCPopupMenu::UpdateShadow

Aggiorna l'ombreggiatura per il menu a comparsa.

void UpdateShadow(LPRECT lprectScreen = NULL);

Parametri

lprectScreen
[in] Rettangolo, nelle coordinate dello schermo, che specifica i limiti dell'area da aggiornare.

Osservazioni:

Chiamare questo metodo quando un menu a comparsa con un'ombreggiatura si sovrappone a un'immagine animata.

Vedi anche

Grafico della gerarchia
Classi
Classe CMFCPopupMenuBar