Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Um botão que mostra um menu pop-up e reporta as escolhas de menu do utilizador.
Sintaxe
class CMFCMenuButton : public CMFCButton
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CMFCMenuButton::CMFCMenuButton | Constrói um CMFCMenuButton objeto. |
Métodos Públicos
| Nome | Description |
|---|---|
| CMFCMenuButton::P reTranslateMessage | Chamada pelo framework para traduzir mensagens de janela antes de serem enviadas. (Anula CMFCButton::PreTranslateMessage.) |
| CMFCMenuButton::TamanhoToConteúdo | Altera o tamanho do botão de acordo com o texto e o tamanho da imagem. |
Membros de Dados
| Nome | Description |
|---|---|
| CMFCMenuButton::m_bOSMenu | Especifica se deve mostrar o menu pop-up padrão do sistema ou usar CContextMenuManager::TrackPopupMenu. |
| CMFCMenuButton::m_bRightArrow | Especifica se o menu pop-up aparecerá por baixo ou à direita do botão. |
| CMFCMenuButton::m_bStayPressed | Especifica se o botão do menu altera o seu estado após o utilizador largar o botão. |
| CMFCMenuButton::m_hMenu | Uma alavanca para o menu anexo do Windows. |
| CMFCMenuButton::m_nMenuResult | Um identificador que indica qual item o utilizador selecionou no menu pop-up. |
| CMFCMenuButton::m_bDefaultClick | Permitir processamento padrão (no botão de texto/imagem). |
Observações
A CMFCMenuButton classe deriva da Classe CMFCButton que, por sua vez, é derivada da Classe CButton. Portanto, pode usar CMFCMenuButton no seu código da mesma forma que usaria CButton.
Ao criar um CMFCMenuButton, deve passar um handle para o menu pop-up associado. De seguida, chame à função CMFCMenuButton::SizeToContent.
CMFCMenuButton::SizeToContent verifica se o tamanho do botão é suficiente para incluir uma seta que aponte para o local onde a janela pop-up aparecerá – nomeadamente, por baixo ou à direita do botão.
Example
O exemplo seguinte demonstra como definir a alavanca do menu associado ao botão, redimensionar o botão de acordo com o seu texto e tamanho da imagem, e definir o menu pop-up que é exibido pela estrutura. Este excerto de código faz parte do exemplo de Novos Controlos.
CMFCMenuButton m_btnMenu;
// CMenu m_menu
m_btnMenu.m_hMenu = m_menu.GetSubMenu(0)->GetSafeHmenu();
m_btnMenu.SizeToContent();
// set to FALSE so that the framework calls CContextMenuManager::TrackPopupMenu
// to display its menu
m_btnMenu.m_bOSMenu = FALSE;
Hierarquia de herança
Requerimentos
Cabeçalho: afxmenubutton.h
CMFCMenuButton::CMFCMenuButton
Constrói um novo objeto CMFCMenuButton .
CMFCMenuButton();
CMFCMenuButton::m_bOSMenu
Uma variável membro booleana que indica qual menu pop-up o framework apresenta.
BOOL m_bOSMenu;
Observações
Se m_bOSMenu for TRUE, o framework chama o método herdado TrackPopupMenu para este objeto. Caso contrário, o framework chama CContextMenuManager::TrackPopupMenu.
CMFCMenuButton::m_bRightArrow
Uma variável membro booleana que indica a localização do menu pop-up.
BOOL m_bRightArrow;
Observações
Quando o utilizador pressiona o botão do menu, a aplicação mostra um menu pop-up. A estrutura irá mostrar o menu pop-up por baixo do botão ou à direita do botão. O botão também tem uma pequena seta que indica onde o menu pop-up irá aparecer. Se m_bRightArrow for VERDADEIRO, a estrutura mostra o menu pop-up à direita do botão. Caso contrário, mostra o menu pop-up por baixo do botão.
CMFCMenuButton::m_bStayPressed
Uma variável membro booleana que indica se o botão do menu aparece pressionado enquanto o utilizador faz uma seleção no menu pop-up.
BOOL m_bStayPressed;
Observações
Se o m_bStayPressed membro for FALSO, o botão do menu não é pressionado quando o utilizador clica no botão. Neste caso, a estrutura mostra apenas o menu pop-up.
Se o m_bStayPressed membro for VERDADEIRO, o botão do menu passa a ser pressionado quando o utilizador clica no botão. Mantém-se pressionado até o utilizador fechar o menu pop-up, seja fazendo uma seleção ou cancelando.
CMFCMenuButton::m_hMenu
A pega do menu anexo.
HMENU m_hMenu;
Observações
A estrutura apresenta o menu indicado por esta variável membro quando o utilizador clica no botão do menu.
CMFCMenuButton::m_nMenuResult
Um inteiro que indica qual item o utilizador seleciona no menu pop-up.
int m_nMenuResult;
Observações
O valor desta variável membro é zero se o utilizador cancelar o menu sem fazer uma seleção ou se ocorrer um erro.
CMFCMenuButton::m_bDefaultClick
Permite o processamento padrão de texto ou imagens no botão.
BOOL m_bDefaultClick;
Observações
Definir m_bDefaultClick para false faz com que o botão apareça o menu quando clicas em qualquer parte do botão.
CMFCMenuButton::P reTranslateMessage
Chamada pelo framework para traduzir mensagens de janela antes de serem enviadas.
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parâmetros
pMsg
[dentro] Aponta para uma estrutura MSG que contém a mensagem a processar.
Valor de retorno
Não nula se a mensagem foi traduzida e não deve ser enviada; 0 se a mensagem não for traduzida e deve ser enviada.
Observações
CMFCMenuButton::TamanhoToConteúdo
Altera o tamanho do botão de acordo com o tamanho do texto e da imagem.
virtual CSize SizeToContent(BOOL bCalcOnly = FALSE);
Parâmetros
bCalcOnly
[dentro] Um parâmetro booleano que indica se este método redimensiona o botão .
Valor de retorno
Um objeto CSize que especifica o novo tamanho do botão.
Observações
Se chamares esta função e o bCalcOnly for TRUE, SizeToContent calculará apenas o novo tamanho do botão.
O novo tamanho do botão é calculado para se ajustar ao texto, imagem e seta do botão. A estrutura também adiciona margens pré-definidas de 10 píxeis para a aresta horizontal e 5 píxeis para a aresta vertical.