MessageBox

A função MessageBox cria, exibe e opera uma caixa de mensagem. A caixa de mensagem contém uma mensagem application-defined e título, além de qualquer combinação de predefinidos ícones e botões.

int (MessageBox HWND  hWnd, / / identificador da janela do proprietárioLPCTSTRlpText, / / endereço de texto na caixa de mensagemLPCTSTRlpCaption, / / endereço de título da caixa de mensagemUINTuType / / estilo de caixa de mensagem);
 

Parâmetros

hWnd
Identifica a janela do proprietário da caixa de mensagem a ser criado. Se este parâmetro é NULL, a caixa de mensagem tem não janela proprietário.
lpText
Ponteiro para uma seqüência de caracteres null-terminated que contém a mensagem a ser exibida.
lpCaption
Ponteiro para um seqüência de caracteres null-terminated usado para o título da caixa de diálogo. Se este parâmetro é NULL, o título padrão erro é usado.
uType
Especifica um conjunto de bit sinalizadores que determinam o conteúdo e comportamento da caixa de diálogo. Este parâmetro pode ser uma combinação de sinalizadores dos seguintes grupos de sinalizadores.

Especifique uma do seguinte sinalizadores para indicar os botões contidos na caixa de mensagem:
Bandeira Significado
MB_ABORTRETRYIGNORE A caixa de mensagem contém três botões: anular, Repetire e ignorar.
MB_OK A caixa de mensagem contém um botão de ação: OK. Este é o padrão.
MB_OKCANCEL A caixa de mensagem contém dois botões enviar: OK e cancelar.
MB_RETRYCANCEL A caixa de mensagem contém dois botões enviar: repetir e cancelar.
MB_YESNO A caixa de mensagem contém dois botões enviar: Sim e não.
MB_YESNOCANCEL A caixa de mensagem contém três botões enviar: Sim, não e cancelar.

Especifique uma do seguinte sinalizadores para exibir um ícone na caixa de mensagem:
Bandeira Significado
MB_ICONEXCLAMATION,
MB_ICONWARNING
Um ícone de ponto de exclamação aparece na caixa de mensagem.
MB_ICONINFORMATION, MB_ICONASTERISK
Um ícone consistindo de uma letra minúscula i em um círculo aparece na caixa de mensagem.
MB_ICONQUESTION Aparece um ícone de ponto de interrogação na caixa de mensagem.
MB_ICONSTOP,
MB_ICONERROR,
MB_ICONHAND
Um ícone de sinal de parada é exibida na caixa de mensagem.

Especifique uma do seguinte sinalizadores para indicar o botão padrão:
Bandeira Significado
MB_DEFBUTTON1 O primeiro botão é o botão padrão.

MB_DEFBUTTON1 é o padrão a menos que MB_DEFBUTTON2, MB_DEFBUTTON3 ou MB_DEFBUTTON4 é especificado.

MB_DEFBUTTON2 O segundo botão é o botão padrão.
MB_DEFBUTTON3 O terceiro botão é o botão padrão.
MB_DEFBUTTON4 O quarto botão é o botão padrão.

Especifique uma do seguinte sinalizadores para indicar a modalidade da caixa de diálogo:
Bandeira Significado
MB_APPLMODAL O usuário deve responder à caixa de mensagem antes de continuar o trabalho na janela identificada pelo hWnd parâmetro. No entanto, o usuário pode mover-se para as janelas de outros segmentos e trabalho nessas janelas.

Dependendo da hierarquia de janelas no aplicativo, o usuário pode ser capaz de se mover para outras janelas dentro de segmento. Todas as janelas filho do pai da caixa de mensagem são automaticamente desativadas, mas as janelas pop-up não são.

MB_APPLMODAL é o padrão se nem MB_SYSTEMMODAL MB_TASKMODAL for especificado.

MB_SYSTEMMODAL Mesmo como MB_APPLMODAL, exceto que a caixa de mensagem tem o estilo WS_EX_TOPMOST. Use caixas de mensagem modal de sistema para notificar o usuário de grave, potencialmente prejudicial erros que exigem atenção imediata (por exemplo, falta de memória). Este sinalizador não tem efeito sobre a capacidade do usuário para interagir com o windows do que aquelas associadas ao hWnd.
MB_TASKMODAL Mesmo como MB_APPLMODAL exceto que todas as janelas de nível superior pertencentes ao thread atual são desabilitadas se a pasta hWnd parâmetro é NULL. Usar este sinalizador quando o aplicativo de chamada ou biblioteca não tem um identificador de janela disponível mas ainda precisa evitar a entrada para outros windows in the segmento chamado sem suspender outros threads.

Além disso, você pode especificar os sinalizadores a seguir:

MB_DEFAULT_DESKTOP_ONLY
A área de trabalho recebendo entrada deve ser um desktop padrão; caso contrário, a função falhará. Uma área de trabalho padrão é um um aplicativo é executado em, depois que o usuário tenha feito logon.
MB_HELP
Adiciona um botão Ajuda à caixa de mensagem. Escolhendo o botão Ajuda ou pressionando F1 gera um evento de ajuda.
MB_RIGHT
O texto é justificado à direita.
MB_RTLREADING
Exibe o texto de mensagem e legenda usando ordem de leitura da direita para a esquerda nos sistemas hebraico e árabe.
MB_SETFOREGROUND
A caixa de mensagem torna-se a janela primeiro plano. Internamente, o sistema chama o SetForegroundWindow função para caixa de mensagem.
MB_TOPMOST
A caixa de mensagem é criada com o estilo de janela WS_EX_TOPMOST.
MB_SERVICE_NOTIFICATION
Windows NT: O chamador é um serviço que notifica o usuário de um evento. A função exibe uma caixa de mensagem na área de trabalho ativa atual, mesmo se não há nenhum usuário conectado ao computador.

Se este sinalizador estiver definido, o hWnd parâmetro deve ser NULL. Isso é para a caixa de mensagem pode aparecer em um desktop que não a correspondente área de trabalho para o hWnd.

Para o Windows NT versão 4.0, o valor de MB_SERVICE_NOTIFICATION foi alterado. Consulte WINUSER.H, para os valores antigos e novos. Windows NT 4.0 fornece compatibilidade com versões anteriores para serviços pré-existentes, mapeando o valor antigo para o novo valor na implementação de MessageBox e MessageBoxEx. Este mapeamento é feito apenas para arquivos executáveis que possuem um número de versão, conforme definido pelo vinculador, inferior a 4,0.

Para criar um serviço que usa MB_SERVICE_NOTIFICATION e pode ser executado em Windows NT 3. x e Windows NT 4.0, você tem duas escolhas.
  1. Em tempo de ligação, especifique um número de versão inferior a 4.0; ou
nbsp;   2. Em tempo de ligação, especifica versão 4.0. Em tempo de execução, use a função GetVersionEx para verificar a versão do sistema. Em seguida, quando em execução no Windows &NT 3. x, use MB_SERVICE_NOTIFICATION_NT3X; e no Windows NT 4.0, use MB_SERVICE_NOTIFICATION.

MB_SERVICE_NOTIFICATION_NT3X
Windows NT: Esse valor corresponde ao valor definido para MB_SERVICE_NOTIFICATION para Windows NT versão 3.51.

Retornar valores

O valor de retorno é zero se não houver memória suficiente para criar a caixa de mensagem.

Se a função for bem-sucedido, o valor de retorno é um dos seguintes valores de item de menu retornados pela caixa de diálogo:

Valor Significado
IDABORT Anular botão foi selecionado.
IDCANCEL Cancelar botão foi selecionado.
IDIGNORE Ignorar botão foi selecionado.
IDNO Nenhum botão foi selecionado.
IDOK OK botão foi selecionado.
IDRETRY Repetir botão foi selecionado.
IDYES Sim botão foi selecionado.

Se uma caixa de mensagem tem um botão Cancelar, a função retornará o valor IDCANCEL se a tecla esc é pressionada ou o botão Cancelar é selecionado. Se a caixa de mensagem com nenhum botão Cancelar, pressionando esc tem nenhum efeito.

Observações

Quando você usa uma caixa de mensagem modal de sistema para indicar que o sistema está com pouco memória, as seqüências de caracteres apontado pelo lpText e lpCaption parâmetros não devem ser tomados de um arquivo de recurso, porque uma tentativa para carregar o recurso pode falhar.

Quando um aplicativo chama o MessageBox e especifica os sinalizadores para o parâmetro uType MB_ICONHAND e MB_SYSTEMMODAL, o sistema exibe a caixa de mensagem resultante independentemente da memória disponível. Quando esses sinalizadores são especificados, o sistema limita o ComComprimento do texto da caixa de mensagem em três linhas. O sistema faz não quebrar automaticamente as linhas para caber na caixa de mensagem, no entanto, para que a Cadeia de caracteres de mensagem deve conter retornos para quebrar as linhas nos locais apropriados.

Se você criar uma caixa de mensagem enquanto uma caixa de diálogo estiver presente, use o identificador da caixa de diálogo como o parâmetro de hWnd . O hWnd parâmetro não deve identificar uma janela filho, tais como um controle em uma caixa de diálogo.

Windows 95:O sistema pode oferecer suporte a um máximo de 16.364 identificadores de janela.

Windows CE: Windows CE não oferece suporte os seguintes estilos para o parâmetro uType

MB_SYSTEMMODAL

MB_TASKMODAL

MB_HELP

MB_RIGHT

MB_RTLREADING

MB_DEFAULT_DESKTOP_ONLY

MB_SERVICE_NOTIFICATION

MB_USERICON.

A seguir retorna valores não são suportados:

IDCLOSE

IDHELP

QuickInfo

nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Biblioteca de importação:Use user32.lib.
Unicode:Implementado como versões Unicode e ANSI no Windows e Windows NT.

Ver também

Visão geral de caixas de diálogo, funções de caixa de diálogo, FlashWindow, MessageBeep, MessageBoxEx, MessageBoxIndirect, SetForegroundWindow

Index