Partilhar via


Classe CMFCPopupMenu

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Implementa a funcionalidade de menu pop-up do Windows e expande-a adicionando funcionalidades como menus de desmontagem e dicas de ferramentas. Para mais detalhes, consulte o código-fonte localizado na pasta VC\atlmfc\src\mfc da sua instalação no Visual Studio.

Sintaxe

class CMFCPopupMenu : public CMiniFrameWnd

Membros

Construtores Protegidos

Nome Description
CMFCPopupMenu::CMFCPopupMenu Constrói um CMFCPopupMenu objeto.

Métodos Públicos

Nome Description
CMFCPopupMenu::AtivarMenuPopupT
CMFCPopupMenu::AlwaysShowEmptyToolsEntry Define se um menu pop-up está ativado para mostrar entradas vazias para ferramentas definidas pelo utilizador.
CMFCPopupMenu::AreAllCommandsShown
CMFCPopupMenu::CheckArea Determina a localização de um ponto em relação ao menu pop-up.
CMFCPopupMenu::Fechar Menu
CMFCPopupMenu::Create Cria um menu pop-up e anexa-o ao CMFCPopupMenu objeto.
CMFCPopupMenu::D efaultMouseClickOnClose
CMFCPopupMenu::EnableMenuLogo Inicializa o logótipo para um menu pop-up.
CMFCPopupMenu::EnableMenuSound Ativa o som do menu.
CMFCPopupMenu::EnableResize
CMFCPopupMenu::EnableScrolling
CMFCPopupMenu::EnableVertResize
CMFCPopupMenu::FindSubitemPorComando
CMFCPopupMenu::GetActiveMenu Devolve o menu atualmente ativo.
CMFCPopupMenu::ObténVelocidadeDeAnimação Devolve a velocidade de animação para menus pop-up.
CMFCPopupMenu::GetAnimationType Devolve o tipo atual de animação de menu pop-up.
CMFCPopupMenu::GetDropDirection
CMFCPopupMenu::GetForceMenuFocus Indica se o foco volta à barra de menu quando aparece um menu pop-up.
CMFCPopupMenu::GetForceShadow
CMFCPopupMenu::GetHMenu Devolve um handle ao recurso do menu anexado.
CMFCPopupMenu::GetMenuBar Devolve o CMFCPopupMenuBar embutido no menu pop-up.
CMFCPopupMenu::GetMenuItem Devolve um apontador para o item do menu no índice especificado.
CMFCPopupMenu::ObterMenuItemCount Devolve o número de itens num menu pop-up.
CMFCPopupMenu::ReceberMensagemWnd Devolve um ponteiro para a janela onde o framework encaminha as mensagens do menu pop-up.
CMFCPopupMenu::GetParentArea
CMFCPopupMenu::GetParentButton Devolve um apontador para o botão da barra de ferramentas dos pais.
CMFCPopupMenu::GetParentPopupMenu Devolve um apontador para o menu pop-up dos pais.
CMFCPopupMenu::GetParentRibbonElement
CMFCPopupMenu::GetParentToolBar Devolve um ponteiro para a barra de ferramentas dos pais.
CMFCPopupMenu::GetQuickCustomizeType
CMFCPopupMenu::GetSelItem Devolve um apontador para o comando de menu atualmente selecionado.
CMFCPopupMenu::FoiRedimensionado
CMFCPopupMenu::HideRaramenteUsadosCommands Indica se o menu pop-up pode esconder comandos raramente usados.
CMFCPopupMenu::InCommand
CMFCPopupMenu::InsertItem Insere um novo item no menu pop-up na localização especificada.
CMFCPopupMenu::InsertSeparator Insere um separador no menu pop-up na localização especificada.
CMFCPopupMenu::IsAlAlways Close
CMFCPopupMenu::IsAlwaysShowEmptyFortsEntry
CMFCPopupMenu::IsCustomizePane Indica se o menu pop-up está a funcionar como um QuickCustomizePane.
CMFCPopupMenu::IsEscClose
CMFCPopupMenu::IsIdle Indica se um menu pop-up está atualmente inativo.
CMFCPopupMenu::IsMenuSound
CMFCPopupMenu::IsQuickCustomize Determina se a Classe CMFCToolBarMenuButton associada está em modo QuickCustom.
CMFCPopupMenu::IsResizeable
CMFCPopupMenu::IsRightAlign Indica se o menu está alinhado à direita ou à esquerda.
CMFCPopupMenu::IsScrollable
CMFCPopupMenu::IsSendMenuSelectMsg Indica se o framework notifica o frame pai quando o utilizador seleciona um comando no menu pop-up.
CMFCPopupMenu::IsMostrado Indica se o menu pop-up está atualmente visível.
CMFCPopupMenu::MoveTo
CMFCPopupMenu::OnCmdMsg (Anula CFrameWnd::OnCmdMsg.)
CMFCPopupMenu::P ostCommand
CMFCPopupMenu::P reTranslateMessage (Anula CFrameWnd::PreTranslateMessage.)
CMFCPopupMenu::RecalcLayout Chamada pela estrutura quando as barras de controlo padrão são ativadas ou desativadas ou quando a janela da moldura é redimensionada. (Sobrepõe CFrameWnd::RecalcLayout.)
CMFCPopupMenu::RemoveAllItems Limpa todos os itens de um menu pop-up.
CMFCPopupMenu::RemoverItem 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 regressar à barra de menu quando aparece um menu pop-up.
CMFCPopupMenu::SetForceShadow Força a estrutura a desenhar sombras nos menus quando aparecem menus pop-up fora do quadro principal.
CMFCPopupMenu::SetMaxWidth Defina a largura máxima para o menu pop-up.
CMFCPopupMenu::SetMessageWnd
CMFCPopupMenu::SetParentRibbonElement
CMFCPopupMenu::SetQuickCustomizeType
CMFCPopupMenu::SetQuickMode
CMFCPopupMenu::SetRightAlign Define o alinhamento dos menus para menus pop-up.
CMFCPopupMenu::SetSendMenuSelectMsg Define uma flag que controla se o menu pop-up notifica o frame pai quando o utilizador seleciona um comando.
CMFCPopupMenu::ShowAllCommands Força o menu pop-up a mostrar todos os comandos.
CMFCPopupMenu::TriggerRedimensionar
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 Description
CMFCPopupMenu::CreateTearOffBar
CMFCPopupMenu::OnChangeHot
CMFCPopupMenu::OnChooseItem

Observações

Normalmente, o MFC cria menus pop-up automaticamente. Se quiseres criar um CMFCPopupMenu objeto manualmente, aloca um no heap e depois liga para CMFCPopupMenu::Create.

Example

O exemplo seguinte demonstra como configurar um objeto de menu pop-up. O exemplo mostra como definir o logótipo e o som do menu pop-up, definir a velocidade e o tipo de animação, desenhar as sombras do menu quando o menu pop-up aparece fora do quadro principal, definir a largura máxima e definir o alinhamento correto do menu pop-up. Este excerto de código faz parte do exemplo 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

Requerimentos

Cabeçalho: afxpopupmenu.h

CMFCPopupMenu::AtivarMenuPopupT

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

Parâmetros

[dentro] pTopFrame
[dentro] pPopupMenu

Valor de retorno

Observações

CMFCPopupMenu::AlwaysShowEmptyToolsEntry

Define se um menu pop-up está ativado para mostrar entradas vazias para ferramentas definidas pelo utilizador.

static void AlwaysShowEmptyToolsEntry(BOOL bShow = TRUE);

Parâmetros

bShow
[dentro] TRUE se o menu pop-up puder mostrar entradas vazias; FALSO, caso contrário.

CMFCPopupMenu::AreAllCommandsShown

BOOL AreAllCommandsShown() const;

Valor de retorno

Observações

CMFCPopupMenu::CheckArea

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

MENUAREA_TYPE CheckArea(const CPoint& ptScreen) const;

Parâmetros

ptScreen
[dentro] Um ponto, em coordenadas do ecrã.

Valor de retorno

Um parâmetro MENUAREA_TYPE que indica onde o ponto está em relação ao menu pop-up.

Observações

Um parâmetro MENUAREA_TYPE pode ter qualquer um dos seguintes valores.

  • FORA - o ecrã ptScreen está fora do menu pop-up.

  • LOGÓTIPO - ptScreen está sobre uma área de logótipo.

  • TEAROFF_CAPTION - ptScreen já está por cima da legenda de remoção.

  • 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::Fechar Menu

void CloseMenu(BOOL bSetFocusToBar = FALSE);

Parâmetros

[dentro] bSetFocusToBar

Observações

CMFCPopupMenu::CMFCPopupMenu

Constrói um objeto CMFCPopupMenu .

CMFCPopupMenu(
    CMFCToolBarsMenuPropertyPage* pCustPage,
    LPCTSTR lpszTitle);

Parâmetros

pCustPage
[dentro] Um indicador para uma página de personalização.

lpszTítulo
[dentro] Uma cadeia que contém a legenda do menu.

Observações

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

CMFCPopupMenu::Create

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

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

Parâmetros

pWndParent
[dentro] A janela parental para o CMFCPopupMenu.

x
[dentro] A coordenada horizontal do ecrã indica a localização do menu pop-up

y
[dentro] O ecrã vertical coordena a localização do menu pop-menu.

hMenu
[dentro] Um recurso para um menu.

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

bOwnMessage
[dentro] Um parâmetro booleano que indica como o framework encaminha as mensagens do menu. Consulte a secção de Observações para mais detalhes.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSO.

Observações

Se o bOwnMessage for TRUE, o framework encaminha quaisquer mensagens do menu para o pWndParent. pWndParent não pode ser NULL se bOwnMessage for TRUE. Se o bOwnMessage for FALSE, o framework encaminha as mensagens do menu para o menu pop-up do pai.

Example

O exemplo seguinte demonstra como usar o Create método da CMFCPopuMenu classe. Este excerto de código faz parte do exemplo 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

[dentro] pWndMain
[dentro] uiID
[dentro] lpszName

Valor de retorno

Observações

CMFCPopupMenu::D efaultMouseClickOnClose

virtual BOOL DefaultMouseClickOnClose() const;

Valor de retorno

Observações

Inicializa o logótipo para um menu pop-up.

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

Parâmetros

iLogoSize
[dentro] O tamanho do logótipo, em pixels.

nLogoLocalização
[dentro] Um tipo de dado enumerado que indica a localização do logótipo.

Observações

Para mostrar o logótipo, implemente o método CFrameWndEx::OnDrawMenuLogo na janela principal do frame.

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

CMFCPopupMenu::EnableMenuSound

Ativa o som do menu.

static void EnableMenuSound(BOOL bEnable = TRUE);

Parâmetros

bEnable
[dentro] TRUE para ativar o som, FALSE caso contrário.

Observações

Se ativar o som, o framework chama o método PlaySound quando um utilizador abre um menu pop-up ou seleciona um comando de menu. Por padrão, esse recurso está habilitado.

CMFCPopupMenu::EnableResize

void EnableResize(CSize sizeMinResize);

Parâmetros

[dentro] sizeMinResize

Observações

CMFCPopupMenu::EnableScrolling

void EnableScrolling(BOOL = TRUE);

Parâmetros

[dentro] BOOL

Observações

CMFCPopupMenu::EnableVertResize

void EnableVertResize(int nMinResize);

Parâmetros

[dentro] nMinResize

Observações

CMFCPopupMenu::FindSubitemPorComando

CMFCToolBarMenuButton* FindSubItemByCommand(UINT uiCmd) const;

Parâmetros

[dentro] uiCmd

Valor de retorno

Observações

CMFCPopupMenu::GetActiveMenu

Devolve o menu atualmente ativo.

static CMFCPopupMenu* GetActiveMenu();

Valor de retorno

Um apontador para o menu pop-up ativo, ou NULL se não houver menu pop-up ativo neste momento.

Observações

Cada aplicação pode ter, no máximo, um menu pop-up ativo.

CMFCPopupMenu::ObténVelocidadeDeAnimação

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

static UINT GetAnimationSpeed();

Valor de retorno

Um número inteiro que indica o tempo, em milissegundos, que uma animação de menu pop-up demora a terminar.

Observações

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

CMFCPopupMenu::GetAnimationType

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

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

Parâmetros

bNoSystem
[dentro] Um parâmetro booleano que indica se este método verifica o valor global. FALSE se quiseres que este método devolva 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.

Observações

O estilo de animação dos menus pop-up é global para a sua aplicação. Usa CMFCPopupMenu::SetAnimationType para definir o estilo de animação.

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

Valor Description
NO_ANIMATION O menu pop-up não está animado e aparece imediatamente.
DESDOBRA-SE A estrutura revela o menu pop-up do canto superior esquerdo até ao canto inferior direito.
SLIDE O menu pop-up move-se de cima para baixo.
DESVANECIMENTO O menu pop-up aparece inicialmente transparente e vai solidificando-se gradualmente.

CMFCPopupMenu::GetDropDirection

DROP_DIRECTION GetDropDirection() const;

Valor de retorno

Observações

CMFCPopupMenu::GetForceMenuFocus

Indica se o foco volta à barra de menu quando aparece um menu pop-up.

static BOOL GetForceMenuFocus();

Valor de retorno

TRUE se o foco de entrada for devolvido à barra de menu quando aparece um menu pop-up; FALSE se o menu pop-up mantiver o foco.

Observações

Por defeito, a sua aplicação não retorna o foco à barra de menus. Para alterar esta definição, use CMFCPopupMenu::SetForceMenuFocus.

CMFCPopupMenu::GetForceShadow

static BOOL __stdcall GetForceShadow();

Valor de retorno

Observações

CMFCPopupMenu::GetHMenu

Devolve um handle ao recurso do menu anexado.

HMENU GetHMenu();

CMFCPopupMenu::GetMenuBar

Devolve o CMFCPopupMenuBar embutido no menu pop-up.

virtual CMFCPopupMenuBar* GetMenuBar();

Valor de retorno

Um apontador para o embutido CMFCPopupMenuBar.

Observações

O menu pop-up tem um objeto incorporado CMFCPopupMenuBar . Deve sobrescrever este método numa classe derivada se estiver a usar uma classe embutida diferente.

CMFCPopupMenu::GetMenuItem

Devolve um apontador para o item do menu no índice especificado.

CMFCToolBarMenuButton* GetMenuItem(int iIndex) const;

Parâmetros

iIndex
[dentro] O índice em base zero de um item do menu.

Valor de retorno

Um indicador para um item do menu. NULL se o índice for inválido.

Observações

Os itens do menu são representados pela classe CMFCToolBarMenuButton. Quando chama este método, ele devolve um ponteiro para o apropriado CMFCToolBarMenuButton.

CMFCPopupMenu::ObterMenuItemCount

Devolve o número de itens num menu pop-up.

int GetMenuItemCount() const;

Valor de retorno

O número de itens no menu.

CMFCPopupMenu::ReceberMensagemWnd

Devolve um ponteiro para a janela onde o framework encaminha as mensagens do menu pop-up.

CWnd* GetMessageWnd() const;

Valor de retorno

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

Observações

Quando utiliza o método CMFCPopupMenu::Create para criar um menu pop-up, especifica qual janela recebe as mensagens do menu.

CMFCPopupMenu::GetParentArea

virtual CWnd* GetParentArea(CRect& rectParentBtn);

Parâmetros

[dentro] rectParentBtn

Valor de retorno

Observações

CMFCPopupMenu::GetParentButton

Devolve um apontador para o botão da barra de ferramentas dos pais.

CMFCToolBarMenuButton* GetParentButton() const;

Valor de retorno

Um apontador para o botão da barra de ferramentas dos pais. NULL se o menu pop-up não tiver botão na barra de ferramentas dos pais.

Observações

A CMFCPopupMenu pode ser associado a um botão no menu. Neste cenário, o menu pop-up aparece quando um utilizador seleciona o botão da barra de ferramentas dos pais.

Se o menu pop-up for um menu de atalho, não terá o botão da barra de ferramentas dos pais.

CMFCPopupMenu::GetParentPopupMenu

Devolve um apontador para o menu pop-up dos pais.

CMFCPopupMenu* GetParentPopupMenu() const;

Valor de retorno

Um apontador para o objeto pai CMFCPopupMenu ; NULL se não houver menu pop-up parental.

Observações

Um menu pop-up tem um objeto pai CMFCPopupMenu apenas se for um submenu.

CMFCPopupMenu::GetParentRibbonElement

CMFCRibbonBaseElement* GetParentRibbonElement() const;

Valor de retorno

Observações

CMFCPopupMenu::GetParentToolBar

Devolve um ponteiro para a barra de ferramentas dos pais.

CMFCToolBar* GetParentToolBar() const;

Valor de retorno

Um apontador para a barra de ferramentas dos pais. NULL se o menu pop-up não tiver barra de ferramentas de pais.

Observações

Se for CMFCPopupMenu um menu de atalho, então não tem barra de ferramentas para pais.

CMFCPopupMenu::GetQuickCustomizeType

QUICK_CUSTOMIZE_TYPE GetQuickCustomizeType() const;

Valor de retorno

Observações

CMFCPopupMenu::GetSelItem

Devolve um apontador para o comando de menu atualmente selecionado.

CMFCToolBarMenuButton* GetSelItem();

Valor de retorno

Um apontador para o comando de menu atualmente selecionado; NULL se não for selecionado nenhum item.

Observações

Os comandos de menu num menu pop-up são representados pela classe CMFCToolBarMenuButton, ou uma classe derivada de CMFCToolBarMenuButton.

CMFCPopupMenu::FoiRedimensionado

BOOL HasBeenResized() const;

Valor de retorno

Observações

CMFCPopupMenu::HideRaramenteUsadosCommands

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

BOOL HideRarelyUsedCommands() const;

Valor de retorno

TRUE se o menu pop-up conseguir esconder os comandos raramente usados; caso contrário, FALSO.

Observações

Este método especifica apenas se um menu pop-up pode esconder comandos raramente usados, não se essa configuração estiver ativada. Um menu pop-up pode esconder comandos raramente usados se tiver um botão pai e a janela mãe for derivada da Classe CMFCMenuBar. Use o CMFCMenuBar::SetRecentUsedMenus para ativar esta funcionalidade e o CMFCMenuBar::IsRecentUsedMenus para determinar se esta funcionalidade está atualmente ativada. Deve usar ambos os métodos para a janela principal.

CMFCPopupMenu::InCommand

virtual BOOL InCommand();

Valor de retorno

Observações

CMFCPopupMenu::InsertItem

Insere um novo item no menu pop-up na localização especificada.

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

Parâmetros

botão
[dentro] Uma referência ao item do menu para adicionar.

iInsertAt
[dentro] O índice base zero para o novo item. Se o iInsertAt for -1, o item é adicionado ao final do menu.

Valor de retorno

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

Observações

Este método falhará se fornecer um valor inválido para iInsertAt, como um número inteiro maior do que o número de itens atualmente no menu pop-up.

CMFCPopupMenu::InsertSeparator

Insere um separador no menu pop-up na localização especificada.

int InsertSeparator(int iInsertAt = -1);

Parâmetros

iInsertAt
[dentro] O índice baseado em zero da posição onde este método irá inserir o separador.

Valor de retorno

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

Observações

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

Este método falha se iInsertAt for um valor inválido.

CMFCPopupMenu::IsAlAlways Close

virtual BOOL IsAlwaysClose() const;

Valor de retorno

Observações

CMFCPopupMenu::IsAlwaysShowEmptyFortsEntry

static BOOL __stdcall IsAlwaysShowEmptyToolsEntry();

Valor de retorno

Observações

CMFCPopupMenu::IsCustomizePane

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

BOOL IsCustomizePane();

Valor de retorno

TRUE se o pop-up for um QuckCustomizePane; caso contrário, FALSO.

Observações

Use o QuickCustomizePane para permitir que o utilizador personalize diretamente o menu pop-up. O QuickCustomizePane é um CMFCPopupMenu que aparece quando o utilizador clica num botão da barra de ferramentas para o editar diretamente.

A sua aplicação deve chamar este método durante o CMDIFrameWndEx::OnShowCustomizePane.

CMFCPopupMenu::IsEscClose

BOOL IsEscClose();

Valor de retorno

Observações

CMFCPopupMenu::IsIdle

Indica se um menu pop-up está atualmente inativo.

virtual BOOL IsIdle() const;

Valor de retorno

TRUE se o menu pop-up estiver em modo inativo; caso contrário, FALSO.

Observações

Por defeito, um menu pop-up está em modo inativo se a animação de exibição estiver completa e o utilizador não estiver a deslocar-se no menu pop-up.

CMFCPopupMenu::IsMenuSound

static UINT __stdcall IsMenuSound();

Valor de retorno

Observações

CMFCPopupMenu::IsQuickCustomize

Determina se a Classe CMFCToolBarMenuButton associada está em modo QuickCustom.

BOOL IsQuickCustomize();

Valor de retorno

TRUE se o botão do menu associado estiver em modo Personalização Rápida; caso contrário, FALSO. Este método também devolverá FALSE se o menu pop-up não estiver associado a um CMFCToolBarMenuButton.

Observações

No modo QuickCustom, o utilizador seleciona um botão numa barra de ferramentas para personalizar o botão diretamente.

CMFCPopupMenu::IsResizeable

BOOL IsResizeble() const;

Valor de retorno

Observações

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.

Observações

Podes usar o CMFCPopupMenu::SetRightAlign para definir o alinhamento do menu. Por defeito, os menus pop-up usam alinhamento à esquerda.

O alinhamento dos menus não é uma definição global e pode variar entre menus pop-up.

CMFCPopupMenu::IsScrollable

BOOL IsScrollable() const;

Valor de retorno

Observações

CMFCPopupMenu::IsSendMenuSelectMsg

Indica se o framework notifica o frame pai quando o utilizador seleciona um comando no menu pop-up.

static BOOL IsSendMenuSelectMsg();

Valor de retorno

TRUE se o framework notificar o frame pai; caso contrário, FALSO.

Observações

O framework notifica o frame pai enviando-lhe a mensagem WM_MENUSELECT quando um utilizador seleciona um comando de menu.

CMFCPopupMenu::IsMostrado

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

BOOL IsShown() const;

Valor de retorno

TRUE se um menu pop-up estiver visível; caso contrário, FALSO.

CMFCPopupMenu::MoveTo

void MoveTo(const CPoint& pt);

Parâmetros

[dentro] pt

Observações

CMFCPopupMenu::OnChangeHot

virtual void OnChangeHot(int nHot);

Parâmetros

[dentro] nHot

Observações

CMFCPopupMenu::OnChooseItem

virtual void OnChooseItem(UINT uidCmdID);

Parâmetros

[dentro] uidCmdID

Observações

CMFCPopupMenu::OnCmdMsg

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

Parâmetros

[dentro] nID
[dentro] nCode
[dentro] pExtra
[dentro] pHandlerInfo

Valor de retorno

Observações

CMFCPopupMenu::P ostCommand

BOOL PostCommand(UINT uiCommandID);

Parâmetros

[dentro] uiCommandID

Valor de retorno

Observações

CMFCPopupMenu::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parâmetros

[dentro] pMsg

Valor de retorno

Observações

CMFCPopupMenu::RecalcLayout

virtual void RecalcLayout(BOOL bNotify = TRUE);

Parâmetros

[dentro] bNotify

Observações

CMFCPopupMenu::RemoveAllItems

Limpa todos os itens de um menu pop-up.

void RemoveAllItems();

CMFCPopupMenu::RemoverItem

Remove o item especificado do menu pop-up.

BOOL RemoveItem(int iIndex);

Parâmetros

iIndex
[dentro] O índice em base zero do item a eliminar.

Valor de retorno

TRUE se o método for bem-sucedido; caso contrário, FALSO.

Observações

Este método organiza automaticamente quaisquer separadores afetados pela remoção de um item. Para mais informações sobre como o framework rearranja os separadores, consulte CMFCToolBar::RemoveButton.

CMFCPopupMenu::SaveState

virtual void SaveState();

Observações

CMFCPopupMenu::SetAnimationSpeed

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

static void SetAnimationSpeed(UINT nElapse);

Parâmetros

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

Observações

A velocidade da animação é um valor global e afeta todos os menus pop-up da aplicação. Este valor especifica quanto tempo demora a terminar a animação de um menu pop-up.

Por defeito, este parâmetro está definido para 30 milissegundos. O intervalo de valores válidos para nElapse vai de 0 a 200.

CMFCPopupMenu::SetAnimationType

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

static void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Parâmetros

type
[dentro] Um tipo de dado enumerado que especifica o tipo de animação.

Observações

Consulte CMFCPopupMenu::GetAnimationType para uma lista de valores válidos para o tipo.

CMFCPopupMenu::SetAutoDestroy

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

Parâmetros

[dentro] bAutoDestroy

Observações

CMFCPopupMenu::SetDefaultItem

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

void SetDefaultItem(UINT uiCmd);

Parâmetros

uiCmd
[dentro] O ID do comando de menu do novo comando predefinido.

Observações

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

CMFCPopupMenu::SetForceMenuFocus

Força o foco de entrada a regressar à barra de menu quando aparece um menu pop-up.

static void SetForceMenuFocus(BOOL bValue);

Parâmetros

bValor
[dentro] VERDADE se quiseres que a framework force o foco de entrada para a barra de menu quando aparece um menu pop-up. FALSE se quiseres que o menu pop-up mantenha o foco.

Observações

Este método define um flag global para todos os menus pop-up da aplicação. Por defeito, esta funcionalidade não está ativada.

CMFCPopupMenu::SetForceShadow

Força a estrutura a desenhar sombras nos menus quando aparecem menus pop-up fora do quadro principal.

static void SetForceShadow(BOOL bValue);

Parâmetros

bValor
[dentro] TRUE se quiseres que a framework desenhe sombras no menu, FALSE caso contrário.

Observações

Quando chama este método, ele define um flag global na sua aplicação. Esta bandeira afeta todos os menus pop-up na sua aplicação.

CMFCPopupMenu::SetMaxWidth

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

void SetMaxWidth(int iMaxWidth);

Parâmetros

iMaxWidth
[dentro] A largura máxima do menu pop-up, em pixels.

Observações

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

CMFCPopupMenu::SetMessageWnd

void SetMessageWnd(CWnd* pMsgWnd);

Parâmetros

[dentro] pMsgWnd

Observações

CMFCPopupMenu::SetParentRibbonElement

void SetParentRibbonElement(CMFCRibbonBaseElement* pElem);

Parâmetros

[dentro] pElem

Observações

CMFCPopupMenu::SetQuickCustomizeType

void SetQuickCustomizeType(QUICK_CUSTOMIZE_TYPE Type);

Parâmetros

[dentro] Tipo

Observações

CMFCPopupMenu::SetQuickMode

void SetQuickMode();

Observações

CMFCPopupMenu::SetRightAlign

Define o alinhamento dos menus para menus pop-up.

void SetRightAlign(BOOL bRightAlign = TRUE);

Parâmetros

bRightAlign
[dentro] Um Booleano que indica o alinhamento do menu. TRUE indica alinhamento à direita, FALSE indica alinhamento à esquerda.

Observações

Por defeito, todos os menus pop-up estão alinhados à esquerda.

CMFCPopupMenu::SetSendMenuSelectMsg

Define uma flag que controla se o menu pop-up notifica o frame pai quando o utilizador seleciona um comando.

static void SetSendMenuSelectMsg(BOOL bSet = TRUE);

Parâmetros

bSet
[dentro] TRUE se o menu pop-up notificar o frame pai, FALSE caso contrário.

Observações

Esta é uma opção global para todos os menus pop-up numa aplicação. Se estiver ativado, os menus pop-up enviam uma mensagem WM_MENUSELECT para o frame pai quando o utilizador seleciona um comando.

CMFCPopupMenu::ShowAllCommands

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

void ShowAllCommands();

Observações

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

CMFCPopupMenu::TriggerRedimensionar

void TriggerResize();

Observações

CMFCPopupMenu::UpdateAllShadows

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

static void UpdateAllShadows(LPRECT lprectScreen = NULL);

Parâmetros

lprectScreen
[dentro] Um retângulo que especifica a região a atualizar, em coordenadas do ecrã.

Observações

Este método é útil quando menus pop-up são exibidos sobre controlos animados ou outras janelas com conteúdo dinâmico.

CMFCPopupMenu::UpdateShadow

Atualiza a sombra do menu pop-up.

void UpdateShadow(LPRECT lprectScreen = NULL);

Parâmetros

lprectScreen
[dentro] Um retângulo, em coordenadas de ecrã, que especifica os limites da região a atualizar.

Observações

Chame-se a este método quando um menu pop-up com uma sombra sobrepõe-se a uma imagem animada.

Consulte também

Gráfico de Hierarquia
Classes
Classe CMFCPopupMenuBar