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à
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:
CMFCPopupMenu::EnableMenuLogo
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.