GOMES, Gilene Borges. Apostila de Delphi 7. Livro 4

GOMES, Gilene Borges. Apostila de Delphi 7. Livro 4

(Parte 1 de 2)

_ Profa. Gilene B. Gomes

Apostila de Delphi 7.0

10. CAIXAS DE DIÁLOGO PREDEFINIDAS

O Delphi oferece vários comandos para a exibição de caixas de diálogo comuns, como caixas de mensagem (Message Boxes) e caixas de entrada (Input Boxes). Esses comandos permitem que aplicativos com recursos simples de entrada e saída sejam criados rapidamente.

10.1. MESSAGE BOXES (CAIXAS DE MENSAGEM)

As caixas de mensagem são usadas para exibir resultados, erros, ou avisos para o usuário. Elas são caixas modais (bloqueiam a execução do programa quando são exibidas).

Há funções para mostrar caixas de mensagem no Delphi. A mais simples é ShowMessage, que mostra apenas uma mensagem e um botão OK. Já a função MessageDlg oferece mais opções, como símbolos e títulos diferentes. A função MessageBox permite criar um quadro de mensagem com vários botões e que retorne uma resposta do usuário, indicando qual botão foi escolhido. Para a entrada de informações simples, você pode usar a função InputBox.

10.2. USANDO O COMANDO SHOWMESSAGE

Use o comando ShowMessage para mostrar uma mensagem simples para o usuário. A mensagem é exibida em uma pequena caixa, com um botão OK. A caixa é fechada quando o botão OK é clicado.

No exemplo abaixo, uma caixa de mensagem é exibida quando o botão Button1 recebe um clique:

procedure TForm1.Button1Click(Sender: TObject); begin Sho end; wMessage('Este comando não pode ser usado no momento.');

A caixa de mensagem exibida é a seguinte:

Como padrão, é exibido o nome do projeto na barra de título da caixa de mensagem. _ w.gomeshp.com _____________________________________ 38

_ Profa. Gilene B. Gomes

Apostila de Delphi 7.0

10.3. USANDO O COMANDO MESSAGEDLG

O comando MessageDlg mostra uma caixa de mensagem que pode conter símbolos especiais, botões adicionais e outros elementos. O comando tem vários parâmetros que devem ser especificados. Veja a sintaxe do comando MessageDlg:

MessageDlg(<Mensagem>,<Tipo da Caixa>,<Botões>,<Número de ajuda>);

<Mensagem> é um trecho de texto entre aspas simples, como para o comando

ShowMessage. <Tipo da Caixa> determina o símbolo que será exibido na parte esquerda da caixa. Os cinco tipos disponíveis são ilustrados a seguir, além do comando usado para exibir cada tipo de caixa.

mtInformation

MessageDlg ('Mensagem de informação’, mtInformation, mbOKCancel, 0); mtWarning

MessageDlg ('Mensagem de aviso’, mtWarning, mbOKCancel, 0);

mtError

MessageDlg ('Mensagem de erro', mtError, mbOKCancel, 0); mtConfirmation

MessageDlg ('Mensagem de confirmação', mtConfirmation, mbOKCancel, 0); mtCustom MessageDlg ('Outra mensagem', mtCustom, mbOKCancel, 0);

_ w.gomeshp.com _____________________________________ 39

_ Profa. Gilene B. Gomes

Apostila de Delphi 7.0

Note que os títulos das caixas de mensagem são sempre o nome do tipo da caixa, com exceção da opção mtCustom que exibe o nome do projeto como título (e não mostra símbolo especial). Infelizmente, os títulos são sempre em inglês. Não há como especificar outros títulos para as caixas usando o comando MessageDlg. O terceiro parâmetro – <Botões> – é usado para definir o conjunto de botões que será exibido na parte de baixo da caixa de mensagem. Há alguns conjuntos de botões predefinidos. Um deles foi usado nos exemplos anteriores: mbOKCancel, que mostra os botões OK e Cancel. Os conjuntos predefinidos são resumidos a seguir:

mbYesNoCancel Mostra os botões Yes, No e Cancel. mbAbortRetryIgnore Mostra os botões Abort, Retry e Ignore. mbOKCancel Mostra os botões OK e Cancel.

Pode-se também adicionar botões específicos, listando o nome dos botões entre colchetes. Os botões disponíveis são:

mbYes, mbNo, mbOK, mbCancel, mbHelp, mbAbort, mbRetry, mbIgnore, mbAll

Por exemplo, para mostrar uma caixa de mensagem de aviso com os botões, Yes, No, Ignore e Help, use um comando como o seguinte (a caixa é mostrada logo depois):

MessageDlg(‘Houve um erro de leitura no disco. Deseja interromper a execução do aplicativo?’, mtWarning, [mbYes, mbNo, mbIgnore, mbHelp],0);

MessageDlg retorna um valor do botão selecionado pelo usuário. Estes são os possíveis valores de retorno:

mrNone mrAbort mrYes mrOk mrRetry mrNo mrCancel mrIgnore mrAll

10.4. USANDO A FUNÇÃO MESSAGEBOX

Esta função pertence à biblioteca do Windows (API). O Delphi a relaciona ao objeto do tipo TApplication.

Application.MessageBox (<Mensagem>, <Titulo>, <Tipo>);

Onde: <Mensagem> - expressão mostrada dentro do quadro de diálogo.

<Titulo> - título do quadro de mensagem (barra de título).

<Tipo> - somatória de números, conforme o que queremos que seja exibido no quadro de mensagem, seguindo a tabela Tipo.

_ w.gomeshp.com _____________________________________ 40

_ Profa. Gilene B. Gomes

Apostila de Delphi 7.0 Argumento Tipo para a função MessageBox:

Valor Significado

0 Somente o botão de OK 1 Botões de OK e Cancelar 2 Botões Anular, Repetir e Ignorar 3 Botões Sim, Não, Cancelar 4 Botões Sim, Não 5 Botões Repetir e Cancelar

16 Sinal de Stop 32 Sinal de Pesquisa 48 Sinal de Aviso 64 Ícone de Informação

0 Primeiro botão com foco 256 Segundo botão com foco 512 Terceiro botão com foco

Valores possíveis de retorno em relação a resposta do usuário:

Valor Botão pressionado

1 Botão OK 2 Botão Cancelar 3 Botão Anular 4 Botão Repetir 5 Botão Ignorar 6 Botão Sim 7 Botão Não

Um exemplo:

(Parte 1 de 2)

Comentários