CWnd::GetSystemMenu
Permite que o aplicativo acessar o menu de controle para copiar e modificação.
CMenu* GetSystemMenu(
BOOL bRevert
) const;
Parâmetros
- bRevert
Especifica a ação a ser tomada.If bRevert é FALSE, GetSystemMenu Retorna um identificador de uma cópia do menu de controle atualmente em uso. Essa cópia é inicialmente idêntica ao menu de controle, mas pode ser modificada.If bRevert é TRUE, GetSystemMenu Redefine o menu de controle de volta para o estado padrão. O anterior, possivelmente modificadas, controle menu, se houver, é destruído.O valor retornado neste caso é indefinido.
Valor de retorno
Identifica uma cópia do menu de controle se bRevert é FALSE.If bRevert é TRUE, o valor retornado é indefinido.
O ponteiro retornado pode ser temporário e não deve ser armazenado para uso posterior.
Comentários
Qualquer janela que não use GetSystemMenu Para fazer sua própria cópia do menu de controle recebe o menu de controle padrão.
O ponteiro retornado pelo GetSystemMenu função de membro pode ser usada com o CMenu::AppendMenu, CMenu::InsertMenu, or CMenu::ModifyMenu funções para alterar o menu de controle.
O menu de controle inicialmente contém itens identificados com vários valores de ID, sistema autônomo SC_CLOSE, SC_MOVE, and SC_SIZE.Os itens do menu de controle geram WM_SYSCOMMAND mensagens.Todos os itens de menu de controle predefinidos têm números de ID maiores que 0xF000.Se um aplicativo adiciona itens ao menu de controle, ele deve usar números de ID menor que F000.
Windows automaticamente pode disponibilizar itens não disponível no menu de controle padrão.CWnd pode executar seu próprio seleção ou indisponibilidade respondendo para o WM_INITMENU mensagens, que são enviadas antes que qualquer menu seja exibido.
Exemplo
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUT);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
Requisitos
Cabeçalho: afxwin.h