Classe CMFCPopupMenu

Implementa a funcionalidade do menu pop-up do Windows e a estende adicionando recursos como menus de desativação e dicas de ferramenta. Para obter mais detalhes, confira o código-fonte localizado na pasta VC\atlmfc\src\mfc de sua instalação do Visual Studio.

Sintaxe

class CMFCPopupMenu : public CMiniFrameWnd

Membros

Construtores Protegidos

Nome Descrição
CMFCPopupMenu::CMFCPopupMenu Constrói um objeto CMFCPopupMenu.

Métodos públicos

Nome Descrição
CMFCPopupMenu::ActivatePopupMenu
CMFCPopupMenu::AlwaysShowEmptyToolsEntry Define se um menu pop-up está habilitado para mostrar entradas vazias para ferramentas definidas pelo usuário.
CMFCPopupMenu::AreAllCommandsShown
CMFCPopupMenu::CheckArea Determina o local de um ponto em relação ao menu pop-up.
CMFCPopupMenu::CloseMenu
CMFCPopupMenu::Create Cria um menu de item pop-up e o anexa ao objeto CMFCPopupMenu.
CMFCPopupMenu::DefaultMouseClickOnClose
CMFCPopupMenu::EnableMenuLogo Inicializa o logotipo de um menu pop-up.
CMFCPopupMenu::EnableMenuSound Habilita o som do menu.
CMFCPopupMenu::EnableResize
CMFCPopupMenu::EnableScrolling
CMFCPopupMenu::EnableVertResize
CMFCPopupMenu::FindSubItemByCommand
CMFCPopupMenu::GetActiveMenu Retorna o menu ativo no momento.
CMFCPopupMenu::GetAnimationSpeed Retorna a velocidade de animação para menus pop-up.
CMFCPopupMenu::GetAnimationType Retorna o tipo atual de animação de menu pop-up.
CMFCPopupMenu::GetDropDirection
CMFCPopupMenu::GetForceMenuFocus Indica se o foco é retornado à barra de menus, quando um menu pop-up é exibido.
CMFCPopupMenu::GetForceShadow
CMFCPopupMenu::GetHMenu Retorna um identificador para o recurso de menu anexado.
CMFCPopupMenu::GetMenuBar Retorna o CMFCPopupMenuBar inserido no menu pop-up.
CMFCPopupMenu::GetMenuItem Retorna um ponteiro para o item de menu no índice especificado.
CMFCPopupMenu::GetMenuItemCount Retorna o número de itens em um menu pop-up.
CMFCPopupMenu::GetMessageWnd Retorna um ponteiro para a janela em que a estrutura roteia as mensagens do menu pop-up.
CMFCPopupMenu::GetParentArea
CMFCPopupMenu::GetParentButton Retorna um ponteiro para o botão de barra de ferramentas pai.
CMFCPopupMenu::GetParentPopupMenu Retorna um ponteiro para o menu pop-up pai.
CMFCPopupMenu::GetParentRibbonElement
CMFCPopupMenu::GetParentToolBar Retorna um ponteiro para a barra de ferramentas pai.
CMFCPopupMenu::GetQuickCustomizeType
CMFCPopupMenu::GetSelItem Retorna um ponteiro para o comando de menu selecionado no momento.
CMFCPopupMenu::HasBeenResized
CMFCPopupMenu::HideRarelyUsedCommands Indica se o menu pop-up pode ocultar comandos raramente usados.
CMFCPopupMenu::InCommand
CMFCPopupMenu::InsertItem Insere um novo item no menu pop-up no local especificado.
CMFCPopupMenu::InsertSeparator Insere um separador no menu pop-up no local especificado.
CMFCPopupMenu::IsAlwaysClose
CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry
CMFCPopupMenu::IsCustomizePane Indica se o menu pop-up está funcionando como um QuickCustomizePane.
CMFCPopupMenu::IsEscClose
CMFCPopupMenu::IsIdle Indica se um menu pop-up está ocioso no momento.
CMFCPopupMenu::IsMenuSound
CMFCPopupMenu::IsQuickCustomize Determina se a Classe CMFCToolBarMenuButton associada está no modo QuickCustomize.
CMFCPopupMenu::IsResizeble
CMFCPopupMenu::IsRightAlign Indica se o menu está alinhado à direita ou à esquerda.
CMFCPopupMenu::IsScrollable
CMFCPopupMenu::IsSendMenuSelectMsg Indica se a estrutura notifica o quadro pai quando o usuário seleciona um comando no menu pop-up.
CMFCPopupMenu::IsShown Indica se o menu pop-up está visível no momento.
CMFCPopupMenu::MoveTo
CMFCPopupMenu::OnCmdMsg (Substitui CFrameWnd::OnCmdMsg.)
CMFCPopupMenu::PostCommand
CMFCPopupMenu::PreTranslateMessage (Substitui CFrameWnd::PreTranslateMessage.)
CMFCPopupMenu::RecalcLayout Chamado pela estrutura quando as barras de controle padrão são ativadas ou desativadas ou quando a janela de quadro é redimensionada. (Overrides CFrameWnd::RecalcLayout.)
CMFCPopupMenu::RemoveAllItems Limpa todos os itens de um menu pop-up.
CMFCPopupMenu::RemoveItem Remove o item especificado de um menu pop-up.
CMFCPopupMenu::SaveState
CMFCPopupMenu::SetAnimationSpeed Define a velocidade de animação para menus pop-up.
CMFCPopupMenu::SetAnimationType Define o tipo de animação para o menu pop-up.
CMFCPopupMenu::SetAutoDestroy
CMFCPopupMenu::SetDefaultItem Define o comando padrão para o menu pop-up.
CMFCPopupMenu::SetForceMenuFocus Força o foco de entrada a retornar à barra de menus, quando um menu pop-up é exibido.
CMFCPopupMenu::SetForceShadow Força a estrutura a desenhar sombras de menu, quando os menus pop-up são exibidos fora do mainframe.
CMFCPopupMenu::SetMaxWidth Define a largura máxima para o menu pop-up.
CMFCPopupMenu::SetMessageWnd
CMFCPopupMenu::SetParentRibbonElement
CMFCPopupMenu::SetQuickCustomizeType
CMFCPopupMenu::SetQuickMode
CMFCPopupMenu::SetRightAlign Define o alinhamento do menu para menus pop-up.
CMFCPopupMenu::SetSendMenuSelectMsg Define um sinalizador que controla se o menu pop-up notificará o quadro pai quando o usuário selecionar um comando.
CMFCPopupMenu::ShowAllCommands Força o menu pop-up a exibir todos os comandos.
CMFCPopupMenu::TriggerResize
CMFCPopupMenu::UpdateAllShadows Atualiza as sombras de todos os menus pop-up abertos.
CMFCPopupMenu::UpdateShadow Atualiza a sombra do menu pop-up.

Métodos protegidos

Nome Descrição
CMFCPopupMenu::CreateTearOffBar
CMFCPopupMenu::OnChangeHot
CMFCPopupMenu::OnChooseItem

Comentários

Normalmente, o MFC cria menus pop-up automaticamente. If you want to create a CMFCPopupMenu object manually, allocate one on the heap and then call CMFCPopupMenu::Create.

Exemplo

O exemplo a seguir demonstra como configurar um objeto de menu pop-up. O exemplo mostra como definir o logotipo e o som do menu pop-up, definir a velocidade e o tipo de animação, desenhar sombras de menu quando o menu pop-up é exibido fora do mainframe, definir a largura máxima e definir o alinhamento do menu direito para o menu pop-up. Este snippet de código faz parte da amostra de Páginas personalizadas.

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

Hierarquia de herança

CObject

CCmdTarget

CWnd

CFrameWnd

CMiniFrameWnd

CMFCPopupMenu

Requisitos

Cabeçalho: afxpopupmenu.h

CMFCPopupMenu::ActivatePopupMenu

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

Parâmetros

[in] pTopFrame
[in] pPopupMenu

Valor de retorno

Comentários

CMFCPopupMenu::AlwaysShowEmptyToolsEntry

Define se um menu pop-up está habilitado para mostrar entradas vazias para ferramentas definidas pelo usuário.

static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);

Parâmetros

bShow
[in] TRUE, se o menu pop-up puder exibir entradas vazias. Caso contrário, FALSE.

CMFCPopupMenu::AreAllCommandsShown

BOOL AreAllCommandsShown() const;

Valor de retorno

Comentários

CMFCPopupMenu::CheckArea

Determina o local de um ponto em relação ao menu pop-up.

MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;

Parâmetros

ptScreen
[in] Um ponto, em coordenadas na tela.

Valor de retorno

Um parâmetro MENUAREA_TYPE que indica onde o ponto é relativo ao menu pop-up.

Comentários

Um parâmetro MENUAREA_TYPE pode ter algum dos seguintes valores:

  • OUTSIDE – ptScreen está fora do menu pop-up.

  • LOGO – ptScreen está sobre uma área de logotipo.

  • TEAROFF_CAPTION – ptScreen está sobre a legenda destacável.

  • SHADOW_BOTTOM – ptScreen está sobre a sombra inferior do menu pop-up.

  • SHADOW_RIGHT – ptScreen está sobre a sombra direita do menu pop-up.

  • MENU – ptScreen está sobre um comando.

CMFCPopupMenu::CloseMenu

void CloseMenu(BOOL bSetFocusToBar = FALSE);

Parâmetros

[in] bSetFocusToBar

Comentários

CMFCPopupMenu::CMFCPopupMenu

Cria um objeto CMFCPopupMenu.

CMFCPopupMenu(
    CMFCToolBarsMenuPropertyPage* pCustPage,
    LPCTSTR lpszTitle);

Parâmetros

pCustPage
[in] Um ponteiro para uma página de personalização.

lpszTitle
[in] Uma cadeia de caracteres que contém a legenda do menu.

Comentários

Esse método aloca os recursos para um CMFCPopupMenu. Para criar o item de menu pop-up, chame CMFCPopupMenu::Create.

CMFCPopupMenu::Create

Cria um menu pop-up e o anexa a um objeto CMFCPopupMenu .

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

Parâmetros

pWndParent
[in] A janela pai para a CMFCPopupMenu.

x
[in] A coordenada na tela horizontal para o local do menu pop-up

y
[in] A coordenada na tela vertical para o local do menu pop-up.

hMenu
[in] Um identificador para um recurso de menu.

bLocked
[in] Um parâmetro booliano que indica se o menu é personalizável. FALSE indica que o menu pop-up é personalizável.

bOwnMessage
[in] Um parâmetro booliano que indica como a estrutura encaminha as mensagens de menu. Para obter mais detalhes, consulte a seção Comentários.

Valor de retorno

TRUE, se o método tiver êxito. Caso contrário, FALSE.

Comentários

Se bOwnMessage for TRUE, a estrutura encaminhará todas as mensagens de menu para pWndParent. pWndParent não deve ser NULL, se bOwnMessage for TRUE. Se bOwnMessage for FALSE, a estrutura encaminhará as mensagens de menu para o menu pop-up pai.

Exemplo

O exemplo a seguir demonstra como usar o método Create da classe CMFCPopuMenu. Este snippet de código faz parte da amostra de Páginas personalizadas.

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

Parâmetros

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

Valor de retorno

Comentários

CMFCPopupMenu::DefaultMouseClickOnClose

virtual BOOL DefaultMouseClickOnClose() const;

Valor de retorno

Comentários

Inicializa o logotipo de um menu pop-up.

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

Parâmetros

iLogoSize
[in] O tamanho do logotipo, em pixels.

nLogoLocation
[in] Um tipo de dados enumerado que indica o local do logotipo.

Comentários

Para exibir o logotipo, implemente o método CFrameWndEx::OnDrawMenuLogo na janela com mainframe.

Os valores possíveis para nLogoLocation são MENU_LOGO_LEFT, MENU_LOGO_RIGHT, MENU_LOGO_TOP e MENU_LOGO_BOTTOM.

CMFCPopupMenu::EnableMenuSound

Habilita o som do menu.

static void EnableMenuSound(BOOL bEnable = TRUE);

Parâmetros

bEnable
[in] TRUE, para habilitar o som. Caso contrário, FALSE.

Comentários

Se você habilitar o som, a estrutura chamará o método PlaySound quando um usuário abrir um menu pop-up ou selecionar um comando de menu. Esse recurso é habilitado por padrão.

CMFCPopupMenu::EnableResize

void EnableResize(CSize sizeMinResize);

Parâmetros

[in] sizeMinResize

Comentários

CMFCPopupMenu::EnableScrolling

void EnableScrolling(BOOL = TRUE);

Parâmetros

[in] BOOL

Comentários

CMFCPopupMenu::EnableVertResize

void EnableVertResize(int nMinResize);

Parâmetros

[in] nMinResize

Comentários

CMFCPopupMenu::FindSubItemByCommand

CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;

Parâmetros

[in] uiCmd

Valor de retorno

Comentários

CMFCPopupMenu::GetActiveMenu

Retorna o menu ativo no momento.

static CMFCPopupMenu* GetActiveMenu();

Valor de retorno

Um ponteiro para o menu pop-up ativo ou NULL, se nenhum menu pop-up estiver ativo no momento.

Comentários

Cada aplicativo pode ter, no máximo, um menu pop-up ativo.

CMFCPopupMenu::GetAnimationSpeed

Retorna a velocidade de animação para menus pop-up.

static UINT GetAnimationSpeed();

Valor de retorno

Um inteiro que indica o tempo, em milissegundos, que uma animação de menu pop-up leva para ser concluída.

Comentários

A velocidade da animação é um valor global. Use CMFCPopupMenu::SetAnimationSpeed para alterar a velocidade da animação dos menus pop-up.

CMFCPopupMenu::GetAnimationType

Retorna o tipo atual de animação pop-up.

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

Parâmetros

bNoSystem
[in] Um parâmetro booliano que indica se esse método verifica o valor global. FALSE, se você quiser que esse método retorne o estilo de animação para esta instância da Classe CMFCPopupMenu.

Valor de retorno

Um valor enumerado que descreve o tipo de animação.

Comentários

O estilo de animação para menus pop-up é global para o aplicativo. Use CMFCPopupMenu::SetAnimationType para definir o estilo de animação.

A tabela a seguir lista os possíveis tipos de animação.

Valor Descrição
NO_ANIMATION O menu pop-up não é animado e é exibido imediatamente.
UNFOLD A estrutura revela o menu pop-up do canto superior esquerdo para o canto inferior direito.
SLIDE O menu pop-up passa de cima para baixo.
FADE Primeiro, o menu pop-up aparece transparente e é solidificado gradutivamente.

CMFCPopupMenu::GetDropDirection

DROP_DIRECTION GetDropDirection() const;

Valor de retorno

Comentários

CMFCPopupMenu::GetForceMenuFocus

Indica se o foco é retornado à barra de menus, quando um menu pop-up é exibido.

static BOOL GetForceMenuFocus();

Valor de retorno

TRUE, se o foco de entrada for retornado para a barra de menus quando um menu pop-up for exibido. FALSE, se o menu pop-up mantiver o foco.

Comentários

Por padrão, o aplicativo não retorna o foco para a barra de menus. Para alterar essa configuração, use CMFCPopupMenu::SetForceMenuFocus.

CMFCPopupMenu::GetForceShadow

static BOOL __stdcall GetForceShadow();

Valor de retorno

Comentários

CMFCPopupMenu::GetHMenu

Retorna um identificador para o recurso de menu anexado.

HMENU GetHMenu();

CMFCPopupMenu::GetMenuBar

Retorna o CMFCPopupMenuBar inserido no menu pop-up.

virtual CMFCPopupMenuBar* GetMenuBar();

Valor de retorno

Um ponteiro para o CMFCPopupMenuBar inserido.

Comentários

O menu pop-up tem um objeto CMFCPopupMenuBar inserido. Você deve substituir esse método em uma classe derivada, se estiver usando uma classe inserida diferente.

CMFCPopupMenu::GetMenuItem

Retorna um ponteiro para o item de menu no índice especificado.

CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;

Parâmetros

iIndex
[in] O índice baseado em zero de um item de menu.

Valor de retorno

Um ponteiro para um item de menu. NULL se o índice for inválido.

Comentários

Os itens de menu são representados pela Classe CMFCToolBarMenuButton. Quando você chama esse método, ele retorna um ponteiro para o CMFCToolBarMenuButton apropriado.

CMFCPopupMenu::GetMenuItemCount

Retorna o número de itens em um menu pop-up.

int GetMenuItemCount() const;

Valor de retorno

O número de itens no menu.

CMFCPopupMenu::GetMessageWnd

Retorna um ponteiro para a janela em que a estrutura roteia as mensagens do menu pop-up.

CWnd* GetMessageWnd() const;

Valor de retorno

Um ponteiro para a janela que recebe as mensagens de menu pop-up. NULL, se não houver janela.

Comentários

Ao usar o método CMFCPopupMenu::Create para criar um menu pop-up, especifique qual janela receberá as mensagens de menu.

CMFCPopupMenu::GetParentArea

virtual CWnd* GetParentArea(CRect& rectParentBtn);

Parâmetros

[in] rectParentBtn

Valor de retorno

Comentários

CMFCPopupMenu::GetParentButton

Retorna um ponteiro para o botão de barra de ferramentas pai.

CMFCToolBarMenuButton* GetParentButton() const;

Valor de retorno

Um ponteiro para o botão de barra de ferramentas pai. NULL, se o menu pop-up não tiver botões de barra de ferramentas pai.

Comentários

Um CMFCPopupMenu pode ser associado a um botão no menu. Nesse cenário, o menu pop-up é exibido quando um usuário seleciona o botão de barra de ferramentas pai.

Se o menu pop-up for um menu de atalho, ele não terá botões de barra de ferramentas pai.

CMFCPopupMenu::GetParentPopupMenu

Retorna um ponteiro para o menu pop-up pai.

CMFCPopupMenu* GetParentPopupMenu() const;

Valor de retorno

Um ponteiro para o objeto CMFCPopupMenu pai. NULL, se não houver menus pop-up pai.

Comentários

Um menu pop-up terá um objeto CMFCPopupMenu pai somente se for um submenu.

CMFCPopupMenu::GetParentRibbonElement

CMFCRibbonBaseElement* GetParentRibbonElement() const;

Valor de retorno

Comentários

CMFCPopupMenu::GetParentToolBar

Retorna um ponteiro para a barra de ferramentas pai.

CMFCToolBar* GetParentToolBar() const;

Valor de retorno

Um ponteiro para a barra de ferramentas pai. NULL, se o menu pop-up não tiver barras de ferramentas pai.

Comentários

Se o CMFCPopupMenu for um menu de atalho, ele não terá barras de ferramentas pai.

CMFCPopupMenu::GetQuickCustomizeType

QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;

Valor de retorno

Comentários

CMFCPopupMenu::GetSelItem

Retorna um ponteiro para o comando de menu selecionado no momento.

CMFCToolBarMenuButton* GetSelItem();

Valor de retorno

Um ponteiro para o comando de menu selecionado no momento, NULL, se nenhum item for selecionado.

Comentários

Os comandos de menu em um menu pop-up são representados pela Classe CMFCToolBarMenuButton ou por uma classe derivada de CMFCToolBarMenuButton.

CMFCPopupMenu::HasBeenResized

BOOL HasBeenResized() const;

Valor de retorno

Comentários

CMFCPopupMenu::HideRarelyUsedCommands

Indica se o menu pop-up pode ocultar comandos raramente usados.

BOOL HideRarelyUsedCommands() const;

Valor de retorno

TRUE, se o menu pop-up puder ocultar os comandos raramente usados. Caso contrário, FALSE.

Comentários

Esse método especifica apenas se um menu pop-up pode ocultar comandos raramente usados, e não se essa configuração está habilitada. Um menu pop-up poderá ocultar os comandos raramente usados, se tiver um botão pai e se a janela pai for derivada da Classe CMFCMenuBar. Use CMFCMenuBar::SetRecentlyUsedMenus para habilitar esse recurso e CMFCMenuBar::IsRecentlyUsedMenus para determinar se esse recurso está habilitado no momento. Você deve chamar esses dois métodos para a janela pai.

CMFCPopupMenu::InCommand

virtual BOOL InCommand();

Valor de retorno

Comentários

CMFCPopupMenu::InsertItem

Insere um novo item no menu pop-up no local especificado.

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

Parâmetros

botão
[in] Uma referência ao item de menu a ser adicionado.

iInsertAt
[in] O índice baseado em zero para o novo item. Se iInsertAt for -1, o item será adicionado ao final do menu.

Valor de retorno

O índice baseado em zero da posição em que o item foi inserido. -1, se o método falhar.

Comentários

Esse método falhará se você fornecer um valor inválido para iInsertAt, como um inteiro maior que o número de itens encontrados no menu pop-up no momento.

CMFCPopupMenu::InsertSeparator

Insere um separador no menu pop-up no local especificado.

int InsertSeparator(int iInsertAt = -1);

Parâmetros

iInsertAt
[in] O índice baseado em zero da posição em que esse método inserirá o separador.

Valor de retorno

O índice baseado em zero da posição em que o separador foi inserido. -1, se esse método falhar.

Comentários

Um valor de -1 para iInsertAt significa que esse método adicionará o separador ao final do menu pop-up.

Esse método falhará se iInsertAt for um valor inválido.

CMFCPopupMenu::IsAlwaysClose

virtual BOOL IsAlwaysClose() const;

Valor de retorno

Comentários

CMFCPopupMenu::IsAlwaysShowEmptyToolsEntry

static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();

Valor de retorno

Comentários

CMFCPopupMenu::IsCustomizePane

Indica se o menu pop-up está funcionando como um QuickCustomizePane.

BOOL IsCustomizePane();

Valor de retorno

TRUE, se o pop-up for um QuckCustomizePane. Caso contrário, FALSE.

Comentários

Use o QuickCustomizePane para permitir que o usuário personalize diretamente o menu pop-up. O QuickCustomizePane é um CMFCPopupMenu exibido quando o usuário clica em um botão de barra de ferramentas para editá-lo diretamente.

O aplicativo deve chamar esse método durante CMDIFrameWndEx::OnShowCustomizePane.

CMFCPopupMenu::IsEscClose

BOOL IsEscClose();

Valor de retorno

Comentários

CMFCPopupMenu::IsIdle

Indica se um menu pop-up está ocioso no momento.

virtual BOOL IsIdle() const;

Valor de retorno

TRUE, se o menu pop-up estiver no modo ocioso. Caso contrário, FALSE.

Comentários

Por padrão, um menu pop-up estará no modo ocioso, se a animação de exibição estiver concluída e se o usuário não estiver rolando o menu pop-up.

CMFCPopupMenu::IsMenuSound

static UINT __stdcall IsMenuSound();

Valor de retorno

Comentários

CMFCPopupMenu::IsQuickCustomize

Determina se a Classe CMFCToolBarMenuButton associada está no modo QuickCustomize.

BOOL IsQuickCustomize();

Valor de retorno

TRUE, se o botão de menu associado estiver no modo QuickCustomize. Caso contrário, FALSE. Esse método também retornará FALSE, se o menu pop-up não estiver associado a um CMFCToolBarMenuButton.

Comentários

No modo QuickCustomize, o usuário seleciona um botão em uma barra de ferramentas para personalizar o botão diretamente.

CMFCPopupMenu::IsResizeble

BOOL IsResizeble() const;

Valor de retorno

Comentários

CMFCPopupMenu::IsRightAlign

Indica se o menu está alinhado à direita ou à esquerda.

BOOL IsRightAlign() const;

Valor de retorno

TRUE, se o menu estiver alinhado à direita. FALSE, se o menu estiver alinhado à esquerda.

Comentários

Você pode usar CMFCPopupMenu::SetRightAlign para definir o alinhamento do menu. Por padrão, os menus pop-up usam o alinhamento à esquerda.

O alinhamento do menu não é uma configuração global e pode variar entre menus pop-up.

CMFCPopupMenu::IsScrollable

BOOL IsScrollable() const;

Valor de retorno

Comentários

CMFCPopupMenu::IsSendMenuSelectMsg

Indica se a estrutura notifica o quadro pai quando o usuário seleciona um comando no menu pop-up.

static BOOL IsSendMenuSelectMsg();

Valor de retorno

TRUE, se a estrutura notificar o quadro pai. Caso contrário, FALSE.

Comentários

A estrutura notifica o quadro pai, enviando a mensagem WM_MENUSELECT quando um usado seleciona um comando de menu.

CMFCPopupMenu::IsShown

Indica se o menu pop-up está visível no momento.

BOOL IsShown() const;

Valor de retorno

TRUE, se um menu pop-up estiver visível. Caso contrário, FALSE.

CMFCPopupMenu::MoveTo

void MoveTo(const CPoint& pt);

Parâmetros

[in] pt

Comentários

CMFCPopupMenu::OnChangeHot

virtual void OnChangeHot(int nHot);

Parâmetros

[in] nHot

Comentários

CMFCPopupMenu::OnChooseItem

virtual void OnChooseItem(UINT uidCmdID);

Parâmetros

[in] uidCmdID

Comentários

CMFCPopupMenu::OnCmdMsg

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

Parâmetros

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

Valor de retorno

Comentários

CMFCPopupMenu::PostCommand

BOOL PostCommand(UINT uiCommandID);

Parâmetros

[in] uiCommandID

Valor de retorno

Comentários

CMFCPopupMenu::PreTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parâmetros

[in] pMsg

Valor de retorno

Comentários

CMFCPopupMenu::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parâmetros

[in] bNotify

Comentários

CMFCPopupMenu::RemoveAllItems

Limpa todos os itens de um menu pop-up.

void RemoveAllItems();

CMFCPopupMenu::RemoveItem

Remove o item especificado em um menu pop-up.

BOOL RemoveItem(int iIndex);

Parâmetros

iIndex
[in] O índice de base zero do item a ser excluído.

Valor de retorno

TRUE, se o método tiver êxito. Caso contrário, FALSE.

Comentários

Esse método organiza automaticamente todos os separadores afetados pela remoção de um item. Para obter mais informações sobre como a estrutura reorganiza os separadores, confira CMFCToolBar::RemoveButton.

CMFCPopupMenu::SaveState

virtual void SaveState();

Comentários

CMFCPopupMenu::SetAnimationSpeed

Define a velocidade de animação para menus pop-up.

static void SetAnimationSpeed(UINT nElapse);

Parâmetros

nElapse
[in] A nova velocidade de animação, em milissegundos.

Comentários

A velocidade de animação é um valor global e afeta todos os menus pop-up no aplicativo. Esse valor especifica quanto tempo leva para que a animação de um menu pop-up seja concluída.

Por padrão, esse parâmetro é definido como 30 milissegundos. O intervalo de valores válidos para nElapse é de 0 a 200.

CMFCPopupMenu::SetAnimationType

Define o tipo de animação para esse menu pop-up.

static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Parâmetros

tipo
[in] Um tipo de dados enumerado que especifica o tipo de animação.

Comentários

Confira CMFCPopupMenu::GetAnimationType para obter uma lista de valores válidos para tipo.

CMFCPopupMenu::SetAutoDestroy

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

Parâmetros

[in] bAutoDestroy

Comentários

CMFCPopupMenu::SetDefaultItem

Define o comando padrão para o menu pop-up.

void SetDefaultItem(UINT uiCmd);

Parâmetros

uiCmd
[in] A ID do comando de menu do novo comando padrão.

Comentários

O comando padrão no menu pop-up é o comando selecionado quando o menu pop-up é exibido.

CMFCPopupMenu::SetForceMenuFocus

Força o foco de entrada a retornar à barra de menus, quando um menu pop-up é exibido.

static void SetForceMenuFocus(BOOL bValue);

Parâmetros

bValue
[in] TRUE, se você quiser que a estrutura force o foco de entrada à barra de menus, quando um menu pop-up for exibido. FALSE, se você quiser que o menu pop-up mantenha o foco.

Comentários

Esse método define um sinalizador global para todos os menus pop-up no aplicativo. Por padrão, esse recurso não está habilitado.

CMFCPopupMenu::SetForceShadow

Força a estrutura a desenhar sombras de menu, quando os menus pop-up são exibidos fora do mainframe.

static void SetForceShadow(BOOL bValue);

Parâmetros

bValue
[in] TRUE, se você quiser que a estrutura desenhe as sombras de menu. Caso contrário, FALSE.

Comentários

Quando você chama esse método, ele define um sinalizador global no aplicativo. Esse sinalizador afeta todos os menus pop-up no aplicativo.

CMFCPopupMenu::SetMaxWidth

Define a largura máxima para o menu pop-up.

void SetMaxWidth(int iMaxWidth);

Parâmetros

iMaxWidth
[in] A largura máxima para o menu pop-up, em pixels.

Comentários

Se o texto associado a um comando de menu não se ajustar na largura máxima, ele será truncado e a parte que não se ajustar será substituída por três pontos.

CMFCPopupMenu::SetMessageWnd

void SetMessageWnd(CWnd* pMsgWnd);

Parâmetros

[in] pMsgWnd

Comentários

CMFCPopupMenu::SetParentRibbonElement

void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);

Parâmetros

[in] pElem

Comentários

CMFCPopupMenu::SetQuickCustomizeType

void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);

Parâmetros

[in] Tipo

Comentários

CMFCPopupMenu::SetQuickMode

void SetQuickMode();

Comentários

CMFCPopupMenu::SetRightAlign

Define o alinhamento do menu para menus pop-up.

void SetRightAlign(BOOL bRightAlign = TRUE);

Parâmetros

bRightAlign
[in] Um booliano que indica o alinhamento do menu. TRUE indica alinhamento à direita. FALSE indica alinhamento à esquerda.

Comentários

Por padrão, todos os menus pop-up são alinhados à esquerda.

CMFCPopupMenu::SetSendMenuSelectMsg

Define um sinalizador que controla se o menu pop-up notificará o quadro pai quando o usuário selecionar um comando.

static void SetSendMenuSelectMsg(BOOL bSet = TRUE);

Parâmetros

bSet
[in] TRUE, se o menu pop-up notificar o quadro pai. Caso contrário, FALSE.

Comentários

Essa é uma opção global para todos os menus pop-up em um aplicativo. Se estiver habilitada, os menus pop-up enviarão uma mensagem WM_MENUSELECT para o quadro pai, quando o usuário selecionar um comando.

CMFCPopupMenu::ShowAllCommands

Força o menu pop-up a exibir todos os comandos.

void ShowAllCommands();

Comentários

Essa não é uma configuração global e afeta apenas o menu pop-up atual.

CMFCPopupMenu::TriggerResize

void TriggerResize();

Comentários

CMFCPopupMenu::UpdateAllShadows

Atualiza as sombras de todos os menus pop-up abertos.

static void UpdateAllShadows(LPRECT lprectScreen = NULL);

Parâmetros

lprectScreen
[in] Um retângulo que especifica a região a ser atualizada, em coordenadas na tela.

Comentários

Esse método é útil quando menus pop-up são exibidos em controles animados ou em outras janelas que têm conteúdo dinâmico.

CMFCPopupMenu::UpdateShadow

Atualiza a sombra do menu pop-up.

void UpdateShadow(LPRECT lprectScreen = NULL);

Parâmetros

lprectScreen
[in] Um retângulo, em coordenadas na tela, que especifica os limites da região a ser atualizada.

Comentários

Chame esse método quando um menu pop-up com uma sombra se sobrepuser a uma imagem animada.

Confira também

Gráfico da hierarquia
Classes
Classe CMFCPopupMenuBar