VB - MessageBox não Modal


Precisando de uma caixa de mensagens não modal. A caixa de mensagens padrão do VB é modal , ou seja, você tem que fechar a janela com mensagem para continuar o processamento. Vamos então mostrar como você pode usar uma caixa de mensagens não Modal usando as API´s do Windows.

- Declare a seguinte API na seção General Declarations do formulário:

Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Private Const MB_OKCANCEL As Long = &H1

- Agora para ativar a caixa de mensagens basta colocar o código abaixo (mudando a mensagem é claro) onde desejar mostrar a janela:

Dim ret As Variant
ret = MessageBox(0, "Esta é uma messagebox não modal", "Messagebox não modal", MB_OKCANCEL)

Os botões que aparecem no formulário são definidos pela variável MB_OKCANCEL , podemos usar também as seguintes:

MB_ABORTRETRYIGNORE - Define três botões : Abort, Retry, e Ignore.
MB_OK - Define somente um botão : OK. (este é o padrão)
MB_RETRYCANCEL - Define dois botões : Retry and Cancel.
MB_YESNO - Define dois botões - : Yes and No.
MB_YESNOCANCEL - Define três botões : Yes, No, and Cancel.

Se quiser definir um ícone na caixa de mensagem basta usar uma das seguintes contantes :

MB_ICONEXCLAMATION,MB_ICONWARNING - Exibe um ícon com de uma exclamação.
MB_ICONINFORMATION, MB_ICONASTERISK - Exibe um ícone com a letra i em um círculo.
MB_ICONQUESTION -Exibe um ícone de interrogação.
MB_ICONSTOP,MB_ICONERROR,MB_ICONHAND - Exibe um icone de Stop

Para definir qual é o botão padrão temos as seguintes constantes :

MB_DEFBUTTON1 - Define o primeiro botão como padrão.
MB_DEFBUTTON2 - Define o segundo botão como padrão.
MB_DEFBUTTON3 - Define o terceiro botão como padrão.
MB_DEFBUTTON4 - Define o quarto botão como padrão.

Só isto... até mais ...!!!


José Carlos Macoratti