Tivoli Service Desk 6.0 Developer's Toolkit - Referência de Linguagem do Script

Mensagens do TSD Script

Retornar à Página Principal


Visão Geral de Eventos e Mensagens

Em um aplicativo TSD Script em janela, eventos são os elementos funcionais principais do aplicativo. Cada evento representa uma ação que pode resultar em uma reação. Esses eventos podem vir a partir de uma variedade de origens, incluindo:

Para manipular os eventos, você cria rotinas de tratamento de eventos. Uma rotina de tratamento de eventos é aquela que define os tipos de eventos que podem ocorrer em uma área específica do aplicativo e as reações apropriadas para esses eventos. A rotina de tratamento de eventos acessa a $Event, que é uma variável que contém uma constante de mensagem. Esta constante de mensagem representa o tipo exato de atividade que está ocorrendo. Esta página fornece informações detalhadas sobre essas constantes de mensagens ou mensagens, como são referidas aqui.

Mensagens Enviadas e Recebidas

O Windows e as caixas de diálogo recebem instruções do usuário e retransmitem informações ao aplicativo TSD Script. Esta atividade chama-se transmissão de mensagem.

Você deve contar mensagens enviadas e recebidas, conforme define rotinas de tratamento de eventos.

Esta página agrupa as mensagens da seguinte forma:

Algumas chamadas a funções do TSD Script (como aquelas que afetam controles na interface com o usuário) podem transmitir mensagens a uma rotina de tratamento de eventos. Por exemplo, chamar DlgSetFieldValue para um controle de caixa de diálogo envia uma $MsgSelect para a rotina de tratamento de eventos da caixa de diálogo.

Mensagens Recebidas das Instruções do TSD Script

Conforme descrito no início desta página, os eventos (e suas mensagens) podem vir de uma variedade de origens. Há determinadas instruções TSD Script que enviam mensagens diretamente para seu aplicativo.

Essas instruções TSD Script e as mensagens que seu aplicativo pode receber são listadas na tabela a seguir.

Instrução TSD Script Mensagens Comuns Recebidas
DlgSelectField $MsgExitField, $MsgEnterField, $MsgSelect
DlgSetFieldValue $MsgSelect ou $MsgInitialize
DlgListBoxClear, DlgListBoxDelete $MsgSelect
DlgListBoxInsert, DlgListBoxUpdate $MsgSelect
DlgSQLSelect, DlgSetListBoxIndex $MsgSelect
DlgBox, DlgCreate $MsgCreate, $MsgInitialize
WinCreate $MsgSize, $MsgCreate
WinCreateHyperViewer $MsgCreate
WinCreateScrollWindow $MsgCreate
WinSetIconBar, WinSetMenuBar $MsgSize

Mensagens Definidas pelo Usuário

Cada constante de mensagem representa um número que é interpretado por um aplicativo do TSD Script. A constante de mensagem $MsgUser contém o valor mais alto na faixa de números reservados pela Tivoli Systems Inc. para os valores de constantes de mensagens.

Para criar uma mensagem personalizada para seu aplicativo, utilize $MsgUser+n, onde n é qualquer número atribuído à nova constante de mensagem. Como uma constante de mensagem personalizada, $MsgUser+n está disponível como uma mensagem de transmissão e de recepção. Mais informações sobre $MsgUser+n podem ser encontradas, mais à frente, nesta página.


Mensagens de Recepção

Esta seção abrange os seguintes tópicos:

Resumo das Mensagens de Recepção

As mensagens de recepção são mensagens recebidas por um evento. A tabela de mensagens de recepção resume todas as mensagens de recepção no TSD Script.

Para ajudá-lo a interpretar a tabela de mensagens de recepção, lembre-se dessas dicas:

  1. Itens listados na coluna $Event representam as constantes de mensagens.
  2. Itens listados na coluna Origem representam o tipo de componente do aplicativo (caixa de diálogo ou janela) que envia a mensagem.
  3. Alguns itens listados na coluna Origem são abreviados como a seguir:
  4. Os tópicos "Mensagens de Recepção do Diálogo," "Mensagens de Recepção da Janela" e "Mensagens de Recepção do DDE" incluem descrições completas das mensagens e seus parâmetros.
  5. A coluna Parâmetros lista os parâmetros de eventos definidos para a constante de mensagem na coluna $Event. Os valores de sinônimos começam com um $.

Tabela das Mensagens de Recepção

$Event Source Parâmetros
$MsgAccept Caixa de diálogo $FieldId, $FieldName
$MsgButton Janela de hipertexto, caixa de diálogo 1=texto do botão,
2=ID do botão
$MsgCancel Caixa de diálogo $FieldId, $FieldName
$MsgChar Caixa de diálogo

Outros

$FieldId, $FieldName,
3=KeyCode

$KeyCode

$MsgCreate Caixa de diálogo

Outros

$FormFile, $FormName

Nenhum

$MsgDDEAcknowledge Qualquer $DDEWindow, $DDEStatus (consulte Sinônimos do DDE)
$MsgDDEAdvise Qualquer $DDEWindow, $DDETopic
$MsgDDEData Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDEExecute Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDEInitAcknowledge Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDEInitiate Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDEPoke Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDERequest Qualquer $DDEWindow, $DDETopic
$MsgDDETerminate Qualquer $DDEWindow
$MsgDDEUnAdvise Qualquer $DDEWindow, $DDETopic
$MsgDestroy Qualquer Nenhum de nenhuma janela
$MsgEnterField Caixa de diálogo $FieldId, $FieldName
$MsgExitField Caixa de diálogo $FieldId, $FieldName
$MsgFocus Qualquer $EventParm (1, booleano)
$MsgHelp Caixa de diálogo $FieldId, $FieldName
$MsgImage Pai da janela de imagem 1=ID da Imagem
$MsgInitialize Caixa de diálogo $FieldId, $FieldName,
3=valor antigo, 4=valor novo
$MsgLabel Janela de hipertexto, caixa de diálogo 1=texto do botão, 2=rótulo do botão
$MsgMandField Caixa de diálogo $FieldId, $FieldName
$MsgMouse Zona do mouse 1=ID, 2=atividade do mouse, 3=X, 4=Y
$MsgMenu Barra de menus


Barra de Ferramentas

$MenuSelection (n*100 + m) ou definido pelo usuário,
$MenuId, 2=cadeia

$MenuSelection (1-99) ou definido pelo usuário,
$MenuId, 2=cadeia

$MsgPaint Genérico Nenhum
$MsgPaintStatus Qualquer caixa de diálogo ou janela que contenha
uma barra de status.
Nenhum
$MsgPageChange Qualquer caixa de diálogo que contenha um bloco de notas 1 = o nome da página atual antes da alteração da página ocorrer
2 = o nome da página atual agora (isto é, a nova página)
$MsgPageChangeRequest Qualquer caixa de diálogo que contenha um bloco de notas 1 = o nome da página atual antes da alteração da página ocorrer
2 = o nome da página atual agora (isto é, a nova página)
$MsgScroll Janela genérica 1=$WinHScroll/$WinVScroll, 2=localização diminuta
$MsgSelect Caixa de diálogo $FieldId, $FieldName, 3=valor antigo, 4=valor novo
$MsgSize Janela genérica, deslocável 1=largura da janela, 2=altura da janela
$MsgTimer Qualquer 1=ID do temporizador
$MsgUser+n Qualquer As informações pertencem ao emissor e receptor.

Parâmetros e Sinônimos das Mensagens

Cada constante de mensagem é, realmente, um parâmetro da instrução $Event. A definição da constante de mensagem, no entanto, inclui informações adicionais ou parâmetros de eventos. Por exemplo, se um usuário escolher um botão em uma caixa de diálogo, seu aplicativo receberá uma constante de mensagem $MsgButton. Os parâmetros dos eventos definidos para esta constante de mensagem são o nome de campo e o ID de campo do botão escolhido.

Ao receber a mensagem $MsgButton, você pode obter os valores dos parâmetros de eventos utilizando os sinônimos de mensagens. Os sinônimos fornecem um atalho para a obtenção dos valores. Por exemplo, para obter o valor do nome de campo, deve-se utilizar o sinônimo, $FieldName. Por exemplo:

Nome de Campo: = $FieldName;

Se não houver nenhum sinônimo definido para um parâmetro de evento, utilize $EventParm para obter o valor. Para utilizar $EventParm, você deve especificar o número do parâmetro de evento e o tipo de dados do valor. Por exemplo, para todas as mensagens de recepção da caixa de diálogo, o nome do campo está contido no parâmetro de evento dois. Para obter o valor do parâmetro de evento do nome de campo, você poderá utilizar a seguinte notação:

$EventParm (2, cadeia);

Segue um exemplo.

EVENT ExampleEvent (REF rec : MyRecord) IS
 VARIABLES
 largura, altura : INTEGER;
 ACTIONS
 WHEN $Event IS $MsgSize THEN
 largura := $EventParm(1, INTEGER);
 altura := $EventParm (2, INTEGER);
 ELSWHEN...
 END;
 END;

Sempre que possível, você deve utilizar sinônimos para obter os valores dos parâmetros de eventos. A Tabela de Mensagens de Recepção lista os parâmetros e sinônimos de eventos de cada uma das mensagens de recepção.

Dica: Todas as mensagens da caixa de diálogo possuem sinônimos definidos para os mesmos primeiros e segundos parâmetros de eventos: $FieldId (parâmetro de evento um) contém o ID de campo e $FieldName (parâmetro de evento dois) contém o nome de campo.

Ao transmitir uma mensagem, a ordem dos parâmetros de eventos é significativa. Consulte"Mensagens de Transmissão: Como Remeter e Enviar" para obter mais informações. Consulte também as instruções PostMessage e SendMessage.

Mensagens de Recepção do Diálogo

Esta seção abrange as mensagens que podem ser recebidas por uma rotina de tratamento de eventos originada de uma caixa de diálogo.

Dica: As mensagens de recepção originadas de uma caixa de diálogo , envolvidas em uma conversação DDE são listadas no tópico "Mensagens de Recepção do DDE" nesta seção.

A tabela a seguir lista somente as mensagens originadas de uma caixa de diálogo e que podem ser recebidas por uma rotina de tratamento de eventos.

Tabela de Mensagens de Recepção (Somente Mensagens da Caixa de Diálogo)

$Event Source Parâmetros
$MsgAccept Caixa de diálogo $FieldId, $FieldName
$MsgButton Caixa de diálogo 1=texto do botão, 2=botão do Id
$MsgCancel Caixa de diálogo $FieldId, $FieldName
$MsgChar Caixa de diálogo


Outros

$FieldId, $FieldName, 3=KeyCode

$KeyCode

$MsgCreate Caixa de diálogo $FormFile, $FormName
$MsgDestroy Qualquer Nenhum
MsgDisplayImage Caixa de diálogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=inteiro, 2=cadeia, 3=cadeia, 4=cadeia
$MsgEnterField Caixa de diálogo $FieldId, $FieldName
$MsgExitField Caixa de diálogo $FieldId, $FieldName
$MsgHelp Caixa de diálogo $FieldId, $FieldName
$MsgImage Pai da Imagem 1=ID da imagem
$MsgInitialize Caixa de diálogo $FieldId, $FieldName, 3=oldValue, 4=newValue
$MsgLabel Caixa de diálogo 1=texto do botão, 2=rótulo do botão
$MsgListboxAccept Caixa de diálogo $FieldId, $FieldName, 3=cadeia para quadro de listagem, inteiro para tabela
$MsgMandField Caixa de diálogo $FieldId, $FieldName
$MsgMouse Zona do mouse 1=ID, 2=atividade do mouse, 3=X, 4=Y
$MsgMenu Barra de menus


Barra de Ferramentas

$MenuSelection (n*100 + m)


$MenuSelection (1-99)

$MsgOpenFile Caixa de diálogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=inteiro, 2=cadeia, 3=cadeia, 4=cadeia
$MsgPlaySound Caixa de diálogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=inteiro, 2=cadeia, 3=cadeia, 4=cadeia
$MsgRunProgram Caixa de diálogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=inteiro, 2=cadeia, 3=cadeia, 4=cadeia
$MsgSearch Caixa de diálogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=inteiro, 2=cadeia, 3=cadeia, 4=cadeia
$MsgSelect Caixa de diálogo $FieldId, $FieldName, 3=oldValue, 4=newValue
$MsgTimer Qualquer 1=ID do temporizador
$MsgUser+n Qualquer As informações pertencem ao emissor e receptor

Sinônimos da Caixa de Diálogo

Há vários sinônimos utilizados com mensagens de recepção da caixa de diálogo. Os sinônimos utilizados com maior freqüência são $FieldId e $FieldName.

Os outros sinônimos que aparecem na tabela de mensagens de recepção são explicados na íntegra com suas respectivas mensagens. Para obter informações gerais sobre o uso de sinônimos, consulte o tópico "Parâmetros e Sinônimos das Mensagens" nesta página.

Descrições das Mensagens de Recepção da Caixa de Diálogo

As mensagens de recepção da caixa de diálogo listadas na Tabela de Mensagens de Recepção são descritas aqui.

$MsgAccept

Recebida por Qualquer caixa de diálogo que contenha o controle.
Descrição $MsgAccept é recebida quando um evento de aceitação é gerado na caixa de diálogo.
Parâmetros de eventos Há dois parâmetros de eventos:
  • $FieldId contém o ID de controle (inteiro)
  • $FieldName contém o nome de controle (cadeia)
Resposta A ação de aceitação pode ser cancelada pelo retorno de 0 do grupo de eventos.
Notas Um evento de aceitação pode ocorrer das seguintes maneiras:
  • Quando o usuário escolhe o botão associado à ação de aceitação. (Em geral, este é o botão OK.)
  • Se o usuário estiver trabalhando em um controle de Edição de Múltiplas Linhas, $MsgAccept será gerada quando o usuário inserir uma nova linha.
  • Se o usuário estiver trabalhando em um quadro de listagem, poderá ocorrer um evento de aceitação se o usuário clicar duas vezes em um item ou selecionar um item e pressionar a tecla Enter.
  • Um evento de mensagem também poderá ser gerado se o usuário pressionar a tecla Enter em uma caixa de diálogo que possua um botão padrão definido.

No OS/2, se não houver nenhum botão definido como padrão, e se o cursor não estiver em um campo que funcione como a tecla Enter, um evento de aceitação será gerado quando o usuário pressionar a tecla Enter.
No Windows, se o usuário pressionar a tecla Enter, ele afetará o botão padrão ou gerará uma $MsgAccept. Se a ação não for cancelada, a caixa de diálogo será fechada.

$MsgButton

Recebida por Qualquer janela de visualizador de hipertexto.
Descrição $MsgButton é recebida quando um botão do tipo ID (o tipo padrão) é selecionado em uma janela de visulaizador de hipertexto.
Nota: Um botão em um visualizador de hipertexto representa uma ligação com outra entidade (como outro arquivo, outro ponto no arquivo existente, uma imagem, um arquivo de sons ou arquivo executável).
Parâmetros de eventos Há dois parâmetros de eventos:
  • O parâmetro de evento um (cadeia) contém o texto do botão.
  • O parâmetro de evento dois (inteiro) contém o ID do botão.

$MsgCancel

Recebida por A caixa de diálogo que contém o controle.
Descrição $MsgCancel é recebida quando a caixa de diálogo gera um evento de cancelamento. Um evento de cancelamento é gerado quando o usuário escolhe o botão Cancelar ou pressiona a tecla Escape.
Parâmetros de eventos Há dois parâmetros de eventos:
  • $FieldId contém o ID de controle (inteiro).
  • $FieldName contém o nome de controle (cadeia).
Resposta A ação de cancelamento pode ser abortada retornando-se zero do grupo de eventos. Se a ação não for recusada, a caixa de diálogo será fechada.

$MsgChar

Recebida por Qualquer caixa de diálogo.
Descrição $MsgChar é recebida em uma caixa de diálogo quando o usuário digita um caractere em um controle que não pode ser processado pelo controle. Os caracteres exatos passados para a rotina de tratamento de eventos variam por campo. Em geral, as teclas Control, Alt e de função são recebidas.
Parâmetros de eventos Há três parâmetros de eventos:
  • $FieldId contém o ID de controle (inteiro)
  • $FieldName contém o nome de controle (cadeia)
  • O parâmetro de evento três (inteiro) contém os caracteres que são passados para a rotina de tratamento de eventos
Resposta O parâmetro $KeyCode não pode ser utilizado com caixas de diálogo. O caractere é passado no terceiro parâmetro de evento (inteiro).
Notas O valor da tecla F1 não é passado para a caixa de diálogo. No lugar, a tecla F1 gera uma $MsgHelp ou exibe qualquer texto de auxílio existente.

$MsgCreate

Recebida por Qualquer caixa de diálogo no processo de criação.
Descrição $MsgCreate é uma das primeiras mensagens que uma caixa de diálogo recebe quando é criada.
Parâmetros de eventos Há quatro parâmetros de eventos
  • O primeiro parâmetro de evento é desconhecido na mensagem $MsgCreate. Na maioria das outras mensagens da caixa de diálogo, ele contém, em geral, o ID de controle ($FieldId).
  • O segundo parâmetro de evento, $FieldName, contém o nome (cadeia) do controle selecionado, que é, em geral, $Unknown porque, usualmente, nenhum controle foi selecionado nesse ponto.
  • O parâmetro de evento três ($FormFile) contém o nome (cadeia) do arquivo de formulário, incluindo qualquer nome de formulário entre colchetes.
  • O parâmetro de evento quatro ($FormName) contém o nome (cadeia) do formulário especificado no arquivo da caixa de diálogo.
Resposta Retornar a zero a partir do grupo de eventos aborta a criação da caixa de diálogo. As instruções DlgCreate e DlgBox retornam um erro Não Criado.
Notas Na hora em que $MsgCreate é recebida, a caixa de diálogo ainda não foi exibida. No entanto, o seguinte já ocorreu:
  • O cursor está na posição.
  • O aplicativo recebeu um campo $MsgEnter para o primeiro controle na caixa de diálogo.
  • Todos os controles foram criados e inicializados com os valores padrão especificados no arquivo da caixa de diálogo e com os valores iniciais passados como dados de inicialização.
  • Os dados da ocorrência foram criados e atualizados para que correspondam a todos os valores de controle padrão.

Consulte a mensagem $MsgInitialize para obter mais informações.

$MsgDestroy

Recebida por Qualquer caixa de diálogo.
Descrição Esta mensagem é gerada quando uma $MsgClose é enviada para a caixa de diálogo. A mensagem $MsgClose é gerada quando o usuário aceita ou fecha a caixa de diálogo.
Quando a caixa de diálogo recebe $MsgDestroy, seu identificador de janela ainda continua válido até que o processo de destruição seja concluído. A caixa de diálogo continua a receber mensagens até retornar da mensagem $MsgDestroy.
Resposta Qualquer resposta é ignorada.
Notas Esta mensagem deve ser recebida pela caixa de diálogo após todos seus controles e todas as janelas filhas terem sido destruídas.

$MsgEnterField

Recebida por Qualquer caixa de diálogo.
Descrição $MsgEnterField é gerada quando um usuário insere um controle (pressionando a tecla Tab ou clicando o mouse em um controle diferente).
Isso é recebido antes do cursor deslocar-se para um novo controle. O controle com o foco recebe a mensagem $MsgExitField.
Parâmetros de eventos Há dois parâmetros de eventos:
  • $FieldId contém o ID de controle (inteiro)
  • $FieldName contém o nome de controle (cadeia)
Resposta Para evitar que o cursor se mova para o novo controle, retorne a zero a partir do grupo de eventos enquanto processa esta mensagem.
Notas Se a entrada no novo controle for recusada, o cursor retornará para o campo do qual o usuário acabou de sair. Isso resulta na geração de uma outra mensagem $MsgEnterField quando o cursor é alterado.
Se o retorno para aquele controle também for recusado, o evento será cancelado; nenhum controle terá o cursor.

$MsgExitField

Recebida por Qualquer caixa de diálogo.
Descrição $MsgExitField é gerada pela saída de um controle (pressionando a tecla Tab ou clicando o mouse em um controle diferente). Esta mensagem é recebida antes do cursor sair de um controle.
Parâmetros de eventos Há dois parâmetros de eventos:
  • $FieldId contém o ID de controle (inteiro)
  • $FieldName contém o nome de controle (cadeia)
Resposta Para evitar que o cursor se mova, retorne a zero a partir de um grupo de eventos enquanto processa esta mensagem.

$MsgFocus

Recebida por Qualquer caixa de diálogo.
Descrição $MsgFocus é gerada quando uma caixa de diálogo perde o foco de seu teclado.
Parâmetros de eventos $EventParm (1, booleano) identifica se a caixa de diálogo está perdendo seu foco.

$MsgHelp

Recebida por Qualquer caixa de diálogo.
Descrição $MsgHelp é gerada quando o usuário escolhe um botão Auxílio, mas o sistema não pode encontrar auxílio para a caixa de diálogo ou controle.
Parâmetros de eventos Há dois parâmetros de eventos:
  • $FieldId contém o ID de controle (inteiro)
  • $FieldName contém o nome de controle (cadeia)

$MsgInitialize

Recebida por Qualquer caixa de diálogo.
Descrição $MsgInitialize é uma versão especial de $MsgSelect que ocorre somente durante a fase de criação de uma caixa de diálogo.
$MsgInitialize permite a execução de processamento especial nos valores dos controles da caixa de diálogo durante a criação. Após a criação, todos os eventos para um controle da caixa de diálogo são recebidos como mensagens $MsgSelect.
Parâmetros de eventos A mensagem $MsgInitialize possui quatro parâmetros de eventos, como $MsgSelect:
  • $FieldId contém o ID (inteiro) do controle cujo valor foi alterado
  • $FieldName contém o nome (cadeia) do controle cujo valor foi alterado
  • O parâmetro de evento três (cadeia) contém o valor antigo dos dados da ocorrência
  • O parâmetro de evento quatro (cadeia) contém o novo valor do controle

$MsgLabel

Recebida por Qualquer caixa de diálogo.
Descrição $MsgLabel é gerada quando o usuário seleciona um botão do tipo LABEL em uma janela do visualizador de hipertexto.
Parâmetros de eventos A mensagem $MsgLabel possui dois parâmetros de eventos:
  • O parâmetro de evento um (cadeia) contém o texto do botão
  • O parâmetro de evento dois (cadeia) contém o rótulo do botão

$MsgListboxAccept

Recebida por Qualquer caixa de diálogo
Descrição $MsgListboxAccept informa o item que recebeu dois cliques em um quadro de listagem.
Parâmetros de eventos Há três parâmetros de eventos:
  • $FieldId contém o ID (inteiro) do controle do quadro de listagem
  • $FieldName contém o nome (cadeia) do controle do quadro de listagem
  • O parâmetro de evento três (cadeia) contém o quadro de listagem e um inteiro para a tabela
Resposta Sair desta mensagem impede o aparecimento de $MsgAccept

$MsgMandField

Recebida por Qualquer caixa de diálogo
Descrição $MsgMandField é recebida quando uma ação de aceitação é recebida pela caixa de diálogo e um campo obrigatório não possui um valor.
Parâmetros de eventos Há dois parâmetros de eventos:
  • $FieldId contém o ID (inteiro) do controle para onde o cursor foi movido
  • $FieldName contém o nome (cadeia) do controle selecionado cujo valor foi alterado
Resposta Se FALSE for retornado, o sistema não poderá processar a mensagem.
Se esta mensagem não for processada ou se o grupo de eventos retornar o valor padrão (1), o sistema exibirá uma caixa de mensagens que informa ao usuário que está faltando um valor obrigatório e que a ação de aceitação foi cancelada.
Quando o usuário fecha a caixa de mensagens, o cursor é movido para o primeiro controle obrigatório vazio na caixa de diálogo. As mensagens $MsgExitField, $MsgSelect e $MsgEnterField podem ser geradas pelo movimento. A ação de aceitação é abortada.
Se o grupo de eventos retorna qualquer valor que não seja 1, o sistema não toma conhecimento. O aplicativo deve posicionar o cursor e recusar a mensagem $MsgAccept.

$MsgMenu

Recebida por Qualquer caixa de diálogo.
Descrição $MsgMenu é recebida quando o usuário faz uma seleção a partir de uma barra de menus ou de uma barra de ferramentas na caixa de diálogo.
Parâmetros de eventos O pseudoparâmetro, $MenuSelection, possui o índice do item de menu selecionado. Uma seleção da barra de ferramentas gera um valor de 1 a 99, com base na posição do ícone. Uma seleção da barra de menus gera um valor com base na fórmula:
n * 100 + m

onde n é a posição da seleção ativa na barra de menus principal e m é a posição da seleção no submenu.

Notas Não há nome de controle ou ID atuais com esta mensagem. Também, em versões anteriores, era possível simular uma seleção de menu; isso não é mais suportado.

$MsgPaintStatus

A posição do texto atual na barra de status é redefinida para 1,1 toda vez que uma mensagem $MsgPaintStatus é gerada.

$MsgPageChange

Recebida por Qualquer caixa de diálogo que contenha um bloco de notas.
Descrição A $MsgPageChange é recebida pela rotina de tratamento de eventos do bloco de notas na criação do bloco de notas (definição da página inicial), e sempre que a página atual é alterada. Os parâmetros do evento especificam as páginas antiga e nova.
Parâmetros de eventos Há dois parâmetros de eventos:
  • O primeiro parâmetro de evento especifica o nome da página atual antes da alteração da página ocorrer
  • O segundo parâmetro de evento especifica o nome da página atual agora (a nova página)
Notas Esta mensagem também é recebida quando um bloco de notas é exibido primeiro (depois de $MsgCreate). Neste caso, o primeiro parâmetro é definido como $Unknown e o segundo é o nome da página inicial.

$MsgPageChangeRequest

Recebida por Qualquer caixa de diálogo que contenha um bloco de notas.
Descrição A $MsgPageChangeRequest é exibida antes de uma página ser alterada. (Sair com zero evita que uma página seja alterada.) Os parâmetros do evento especificam as páginas antiga e nova.
Parâmetros de eventos Há dois parâmetros de eventos:
  • O parâmetro de evento um especifica o nome da página atual antes da alteração da página ocorrer
  • O parâmetro de evento dois especifica o nome da página atual agora (a nova página)

$MsgSelect

Recebida por Qualquer caixa de diálogo.
Descrição $MsgSelect é recebida sempre que o valor de um controle é alterado.
No recebimento desta mensagem, os dados da ocorrência são atualizados para refletirem o novo valor do controle.
Durante o processamento de $MsgSelect, o valor real do controle não pode ser determinado. Isto ocorre porque, no Windows, os dados da ocorrência são atualizados com o valor real do campo antes de $MsgSelect ser chamada. No OS/2, os dados da ocorrência são atualizados com o valor real do campo depois de $MsgSelect ser chamada.
Parâmetros de eventos A mensagem $MsgSelect possui quatro parâmetros de eventos:
  • $FieldId contém o ID (inteiro) do controle cujo valor foi alterado.
  • $FieldName contém o nome (cadeia) do controle cujo valor foi alterado.
  • O parâmetro de evento três (oldValue) contém o valor antigo (cadeia) dos dados da ocorrência. Isso não se aplica para os botões. Consulte Notas para esta mensagem.
  • O parâmetro de evento quatro (newValue) contém o novo valor do campo (cadeia). Isso não se aplica para os botões. Consulte Notas para esta mensagem.
Resposta Retorna o valor 1 para permitir que o novo valor permaneça. As mensagens resultantes são $MsgExitField e $MsgEnterField.
Notas Uma mensagem $MsgSelect pode ser gerada de várias maneiras:
  • Botões de rádio, caixas de opções, botões, quadros de listagem, controles de tabelas e réguas de controle geram $MsgSelect sempre que seus valores são alterados pelo usuário ou por uma operação definida.
  • As caixas de texto geram $MsgSelect quando o controle sai, se o usuário tiver alterado o valor no controle.
  • Caixas de combinação geram $MsgSelect da mesma maneira que um quadro de listagem ou uma caixa de texto, dependendo da parte do controle com a qual o usuário interagiu. Caixas de combinação geram $MsgSelect na primeira vez em que o valor é alterado e mais uma vez, depois, quando o cursor deixa o controle, se a parte de edição do controle for alterada.
  • Botões geram $MsgSelect toda vez que o usuário os escolhe. Não há, no entanto, nenhum valor nos parâmetros de eventos três ou quatro.

O tipo de dados do valor contido no parâmetro de evento três é baseado nos dados de ocorrência ligados a ele. Quando nenhum ID está ligado, os dados são $Unknown.
O tipo de dados do valor contido no parâmetro de evento quatro é baseado no tipo de controle. Por exemplo, se o controle for um botão de rádio, o valor será um inteiro. Se o controle for uma caixa de texto, o valor será uma cadeia.


$MsgTimer

Recebida por Qualquer caixa de diálogo.
Descrição $MsgTimer é recebida em resposta a um evento temporizador.
Parâmetros de eventos O parâmetro de evento (inteiro) contém o ID do temporizador, conforme passado através de $MsgStartTimer.
Notas Uma janela deve possuir um temporizador definido para receber $MsgTimer.

MsgUser+n

Recebida por Qualquer caixa de diálogo que possua uma rotina de tratamento de eventos.
Descrição Esta é uma constante de mensagem definida pelo usuário
Parâmetros de eventos Qualquer parâmetro de evento pode ser passado com uma mensagem definida pelo usuário. Se os parâmetros adicionais puderem ser atribuídos na instrução SendMessage, poderão ser atribuídos na rotina de tratamento de eventos.
A janela de recepção deve saber quais parâmetros são válidos para a mensagem.
Notas Todas as mensagens definidas pelo usuário devem ter um valor de $MsgUser+n, onde n é qualquer número escolhido para ser atribuído à nova constante de mensagem.

Mensagens de Recepção da Janela

Esta seção abrange as mensagens de recepção das janelas.

Na Tabela de Mensagens de Recepção, os itens listados na coluna $Event representam as constantes de mensagens.

Itens listados na coluna Origem representam o tipo de componente do aplicativo (caixa de diálogo ou janela) que envia a mensagem.

A entrada nesta coluna determina a classificação da mensagem. Por exemplo, a mensagem $MsgCreate possui a origem, a caixa de diálogo e é, portanto, uma mensagem de recepção da caixa de diálogo. Mais informações sobre esta mensagem podem ser encontradas em "Mensagens de Recepção do Diálogo."

Alguns itens listados na coluna Origem são abreviados. Por exemplo:

A coluna Parâmetros lista os parâmetros de eventos definidos para a constante de mensagem. Os valores de sinônimos começam com um $. (Consulte "Sinônimos da Janela" para obter mais informações.)

Tabela de Mensagens de Recepção (Somente Mensagens da Janela)

$Event Source Parâmetros
$MsgActivate Janela genérica, janela deslocável 1=status de ativação
$MsgButton Janela de hipertexto, caixa de diálogo 1=texto do botão, 2=ID do botão
$MsgChar Qualquer janela $KeyCode
$MsgCreate Qualquer janela Aplicar somente nas caixas de diálogo
$MsgDestroy Qualquer janela Nenhum
$MsgImage Pai da imagem 1=ID da Imagem
$MsgLabel Janela de hipertexto, caixa de diálogo 1=texto do botão, 2=rótulo do botão
$MsgMouse Zona do mouse 1=ID, 2=atividade do mouse, 3=X, 4=Y
$MsgMenu Barra de menus

Barra de Ferramentas

$MenuSelection (n*100 + m)

$MenuSelection (1-99)

$MsgPaint Genérico Nenhum
$MsgPaintStatus Qualquer janela ou caixa de diálogo com uma barra de status Nenhum
$MsgScroll Janela genérica 2=localização diminuta, 1=$WinHScroll / $WinVScroll
$MsgSize Janela genérica, deslocável 1=largura da janela, 2=altura da janela
$MsgTimer Qualquer 1=ID do temporizador
$MsgUser+n Qualquer As informações pertencem ao emissor e receptor

Sinônimos da Janela

Os sinônimos que aparecem na Tabela de Mensagens de Recepção (Somente Mensagens da Janela) são explicados aqui com suas respectivas mensagens. Para obter mais informações sobre o uso dos sinônimos, consulte "Parâmetros e Sinônimos das Mensagens."

Descrições de Mensagens de Recepção da Janela

$MsgActivate

Recebida por Uma janela ou janela deslocável.
Descrição $MsgActivate é recebida quando uma janela ou janela deslocável é ativada ou desativada.
Parâmetros de eventos Há um parâmetro de evento:
  • Se a janela estiver ativada, este parâmetro será igual a 1
  • Se a janela estiver desativada, este parâmetro será igual a 0
Resposta Se a janela estiver ativada, ela receberá o foco.
Se a janela estiver desativada, o foco será movido para a janela ativada.
A cor da janela pode ser alterada para refletir a ativação ou desativação, dependendo da configuração de seu sistema.

$MsgButton

Recebida por Uma janela de visualizador de hipertexto.
Descrição $MsgButton é recebida quando um botão do tipo ID (o tipo padrão) é selecionado em uma janela de visualizador de hipertexto.
Nota: Um botão em um visualizador de hipertexto representa uma ligação com outra entidade (como outro arquivo, outro ponto no arquivo existente, uma imagem, um arquivo de sons ou arquivo executável).
Parâmetros de eventos Há dois parâmetros de eventos:
  • O parâmetro de evento um (cadeia) contém o texto do botão.
  • O parâmetro de evento dois (inteiro) contém o ID do botão. Se nenhum ID tiver sido especificado, ele será padronizado como 0.
Resposta Se o ID do botão for 0 e a rotina de tratamento de eventos retornar 0, a janela de visualizador de hipertexto modificará o texto do botão e procurará uma correspondência no arquivo ativo. Se for encontrada uma correspondência, o arquivo será deslocado para que a linha correspondente fique na parte superior do visualizador.

$MsgChar

Recebida por Qualquer caixa de diálogo.
Descrição $MsgChar é recebida sempre que o usuário insere um caractere do teclado que a janela ativa não processa.
Parâmetros de eventos O parâmetro $KeyCode pode ser utilizado para acessar o caractere. O caractere pode ser um que possa ser impresso ou um das definições $Key padrão. (Consulte $KeyCode para obter uma lista completa de códigos de teclas disponíveis.)

$MsgCreate

Recebida por Qualquer janela ou caixa de diálogo.
Descrição Esta mensagem é recebida depois dos controles em uma janela ou caixa de diálogo terem sido inicializados. Quando esta mensagem é recebida, a janela ou caixa de diálogo é pintada.

$MsgDestroy

Recebida por Qualquer janela.
Descrição $MsgDestroy é a última mensagem que uma janela recebe antes de ser destruída (a não ser que a janela seja destruída como parte do término do aplicativo).
Notas Quando a mensagem $MsgDestroy é recebida, todas as janelas filhas ainda poderão existir, a não ser que tenham sido destruídas explicitamente.

$MsgImage

Recebida por Qualquer janela de imagem.
Descrição $MsgImage é enviada por uma janela de imagem para notificar seu pai que o usuário clicou a imagem com o mouse.
Parâmetros de eventos O parâmetro de evento (inteiro) contém o ID da imagem selecionada.

$MsgLabel

Recebida por Uma janela de visualizador de hipertexto.
Descrição $MsgLabel é recebida quando um botão do tipo LABEL é selecionado em uma janela de visualizador de hipertexto.
Parâmetros de eventos Há dois parâmetros de eventos:
  • O parâmetro de evento um (cadeia) contém o texto do botão
  • O parâmetro de evento dois (cadeia) contém o rótulo do botão

$MsgMenu

Recebida por Qualquer caixa de diálogo com uma barra de menus ou barra de ferramentas.
Descrição $MsgMenu é recebida quando uma seleção é feita a partir de uma barra de menus ou de uma barra de ferramentas.
Parâmetros de eventos $MenuSelection contém o ID do item de menu selecionado.
Notas O ID do item de menu selecionado pode ser enviado para qualquer janela com uma barra de menus. Ele simula aquela ação de um usuário que seleciona um item de menu com o índice que está contido no parâmetro MenuSelection.
Uma seleção da barra de ferramentas gera um valor de 1 a 99, com base na posição do ícone na barra de ferramentas.
Uma seleção da barra de menus gera um valor com base nesta fórmula:
n * 100 + m

onde n é a posição da seleção ativa na barra de menus principal e m é a posição da seleção no submenu.
Consulte WinSetMenuBar para obter mais informações.

$MsgMouse

Recebida por Qualquer janela.
Descrição $MsgMouse é recebida quando há atividade do mouse em uma zona do mouse definida pela
instrução WinCreateMouseRect.
Parâmetros de eventos $MsgMouse possui os seguintes parâmetros de eventos:
  • O primeiro parâmetro de evento (inteiro) contém o ID passado a WinCreateMouseRect
  • O segundo parâmetro de evento (inteiro) contém o tipo de atividade do mouse (consulte a lista de atividades do mouse, abaixo).
  • O terceiro parâmetro de evento (inteiro) contém a localização X do mouse.
  • O quarto parâmetro de evento (inteiro) contém a localização Y do mouse.
Notas WinSetMousePointer deve ser chamado toda vez que $MsgMouse é processado.

As atividades definidas do mouse incluem:

  • $MouseNone
  • $MouseLeftClick
  • $MouseRightClick
  • $MouseLeftDouble
  • $MouseRightDouble
  • $MouseLeftStartDrag
  • $MouseLeftEndDrag.

Para obter mais informações, consulte WinCreateMouseRect.

$MsgPaint

Recebida por Qualquer janela genérica.
Descrição $MsgPaint é recebida quando toda a janela ou parte dela tem que ser repintada.

$MsgScroll

Recebida por Qualquer janela.
Descrição $MsgScroll é recebida quando o usuário move o quadro de rolamento na barra de rolamento horizontal ou vertical.
Parâmetros de eventos Há dois parâmetros de eventos:
  • O primeiro parâmetro de evento (inteiro) contém a barra de rolagem que gera a mensagem. É $WinHScroll (horizontal) ou $WinVScroll (vertical).
  • O segundo parâmetro de evento (inteiro) contém a localização da barra de rolagem. Este valor é expresso nas unidades especificadas pelo aplicativo na instrução da barra WinSetScroll.

$MsgSize

Recebida por Qualquer janela genérica ou janela com uma barra de rolagem.
Descrição Isso define o tamanho da janela.

$MsgTimer

Recebida por Qualquer janela.
Descrição $MsgTimer é recebida em resposta a um evento temporizador.
Parâmetros de eventos O parâmetro de evento (inteiro) contém o ID do temporizador, conforme passado em $MsgStartTimer.
Notas Uma janela deve possuir um temporizador definido para receber uma $MsgTimer.

$MsgUser+n

Recebida por Qualquer janela que possua uma função de evento.
Descrição Esta é uma constante de mensagem definida pelo usuário
Parâmetros de eventos Qualquer parâmetro de evento pode ser passado com uma mensagem definida pelo usuário. Se os parâmetros adicionais puderem ser atribuídos na instrução SendMessage, poderão ser atribuídos na função de evento.
Notas Todas as mensagens definidas pelo usuário devem ter um valor de

$MsgUser+n

onde n é qualquer número que for escolhido para ser atribuído à nova constante de mensagem.

Mensagens de Recepção do DDE

Esta seção abrange as mensagens que podem ser recebidas por uma rotina de tratamento de eventos definida para uma caixa de diálogo ou aplicativo sendo executado em um aplicativo DDE.

Itens listados na coluna $Event representam as constantes de mensagens.

Itens listados na coluna Origem representam o tipo de componente do aplicativo (caixa de diálogo ou janela) que envia a mensagem.

A entrada nesta coluna determina a classificação da mensagem. Por exemplo, a mensagem $MsgCreate possui a origem, a caixa de diálogo e é, portanto, uma mensagem de recepção da caixa de diálogo. Mais informações sobre esta mensagem podem ser encontradas em "Mensagens de Recepção dos Diálogos."

Na coluna Origem, o termo Qualquer representa qualquer item da caixa de diálogo ou da janela em qualquer aplicativo em execução.

A coluna Parâmetros lista os parâmetros de eventos definidos para a constante de mensagem. Os valores de sinônimos começam com um $. Consulte "Sinônimos do DDE " para obter mais informações.

A tabela a seguir lista as mensagens que podem ser recebidas por uma rotina de tratamento de eventos definida para uma caixa de diálogo ou aplicativo sendo executado em um aplicativo DDE.

Tabela de Mensagens de Recepção (Somente Mensagens do DDE)

$Event Source Parâmetros
$MsgDDEAcknowledge Qualquer $DDEWindow, $DDEStatus
$MsgDDEAdvise Qualquer $DDEWindow, $DDETopic
$MsgDDEData Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDEExecute Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDEInitAcknowledge Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDEInitiate Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDEPoke Qualquer $DDEWindow, $DDETopic, $DDEData
$MsgDDERequest Qualquer $DDEWindow, $DDETopic
$MsgDDETerminate Qualquer $DDEWindow
$MsgDDEUnAdvise Qualquer $DDEWindow, $DDETopic



Dica: Toda vez que uma mensagem do DDE for recebida, uma mensagem $MsgDDEAcknowledge deverá ser retornada. O não retorno da mensagem $MsgDDEAcknowledge poderá resultar em perda de memória.

Dica: Se desejar enviar uma confirmação positiva quando uma $MsgDDExxx for recebida, EXIT ($DDEAck). Se desejar enviar uma confirmação negativa, EXIT(0).

Sinônimos do DDE

Há um grupo especial de sinônimos disponíveis para mensagens do DDE. São eles:

Ao utilizar esses sinalizadores, analise-os com a instrução BitAnd. Para obter mais informações, consulte BitAnd.

Definições do DDE

A tabela a seguir mostra termos que são utilizados para descrever mensagens passadas entre os aplicativos DDE.

Termo Definição
Conversação A troca de informações entre dois aplicativos em uma sessão DDE.
Parceiro Um membro de uma conversação DDE.
Cliente O parceiro que solicita informações de outro aplicativo na conversação.
Servidor O parceiro que fornece as informações solicitadas ao parceiro DDE cliente.
Par Aplicativo/Tópico Se você for um cliente DDE, isto é o que você passa ao servidor DDE para estabelecer um link de comunicação com ele.
Como alternativa, se você for um servidor DDE, esta é a combinação de aplicativo(s) e tópico(s) que você pode atender.

Descrições de Mensagens de Recepção do DDE

$MsgDDEAcknowledge

Recebida por Parceiro DDE (cliente ou servidor).
Descrição Esta mensagem informa o parceiro DDE sobre o sucesso ou falha de uma ação solicitada. $MsgDDEAcknowledge deve ser enviada em resposta a qualquer uma das seguintes mensagens:
  • DDEAdvise
  • DDEData
  • DDEExecute
  • DDEPoke
  • DDERequest
  • DDEUnAdvise
Parâmetros de eventos
(Windows)
Os parâmetros de eventos a seguir são utilizados com a instrução DDEExecute no Windows.
  • $DDETopic - o tópico sendo considerado na conversação DDE atual, ou $Unknown como uma resposta genérica.
  • $DDEData - o comando que foi executado.
  • $DDEStatus - Consulte "Sinônimos do DDE" para obter a lista dos códigos de status.

Os parâmetros de eventos a seguir são utilizados com as outras mensagens do DDE no Windows.

  • $DDETopic - Tópico ou Item
  • $DDEData - $Unknown
  • $DDEStatus - Consulte "Sinônimos do DDE" para obter a lista dos códigos de status válidos.
Parâmetros de eventos (OS/2) Os parâmetros de eventos a seguir são utilizados com $DDEExecute no OS/2.
  • $DDETopic - $Unknown
  • $DDEData - Cadeia com comprimento zero
  • $DDEStatus - Consulte "Sinônimos do DDE" para obter a lista dos códigos de status válidos.

Os parâmetros de eventos a seguir são utilizados com as outras mensagens do DDE no OS/2.

  • $DDETopic - Tópico ou Item
  • $DDEData - Cadeia com comprimento zero
  • $DDEStatus - Consulte "Sinônimos do DDE" para obter a lista dos códigos de status válidos.
Notas Se $DDEData for a mensagem recebida, ela poderá ser enviada no lugar dos dados da mensagem real.

$MsgDDEAdvise

Recebida por Qualquer servidor DDE.
Descrição Solicita atualizações contínuas no tópico contido em $DDETopic. Esta é uma mensagem somente de texto.
Parâmetros de eventos (Windows) Os parâmetros de eventos a seguir são utilizados com o Windows.
  • $DDETopic - Tópico ou item sobre o qual ser consultado
  • $DDEData - $Unknown
  • $DDEStatus - Consulte "Sinônimos do DDE" para obter a lista dos códigos de status válidos
Parâmetros de eventos (OS/2) Os parâmetros de eventos a seguir são utilizados com o OS/2.
  • $DDETopic - Tópico ou Item
  • $DDEData - $Unknown
  • $DDEStatus - Consulte "Sinônimos do DDE" para obter a lista dos códigos de status válidos.
Resposta O aplicativo deve executar um DDEData toda vez que os dados forem alterados.

$MsgDDEData

Recebida por Qualquer cliente DDE.
Descrição Esta mensagem é enviada em dois casos:
  • Em resposta a uma mensagem DDERequest
  • Quando ocorrem alterações nos dados do tópico ou item sobre o qual o cliente pediu para consultar.
Parâmetros de eventos Há vários parâmetros de eventos possíveis:
  • $DDETopic contém o tópico ou os itens
  • $DDEData contém o valor dos dados
  • Somente no OS/2: $DDEStatus
Valor da Saída $DDEAck será retornada se os dados tiverem sido utilizados. Por exemplo:
EXIT ($DDEAck)
Notas Se os dados forem enviados em resposta a uma DDEAdvise, o sinalizador $DDEStatus poderá ser definido como $DDENoData. Neste caso, o aplicativo emitirá uma DDERequest para obter os dados reais.

$MsgDDEExecute

Recebida por Qualquer servidor DDE.
Descrição Esta mensagem é enviada para solicitar alguma ação do servidor.
Parâmetros de eventos (Windows) Os parâmetros de eventos a seguir são utilizados no Windows.
  • $DDETopic - $Unknown
  • $DDEData - Comando a ser executado
Parâmetros de eventos (OS/2) Os parâmetros de eventos a seguir são utilizados com o OS/2.
  • $DDETopic - Tópico ou Item
  • $DDEData - Cadeia de comando a ser executada
  • $DDEStatus - Consulte "Sinônimos do DDE" para obter a lista dos códigos de status válidos.
Valor da Saída $DDEAck deverá ser enviada se um comando tiver sido concluído.
Notas É responsabilidade dos parceiros definir as cadeias de comandos.

$MsgDDEInitAcknowledge

Recebida por Qualquer servidor DDE.
Descrição $MsgDDEInitAcknowledge é recebida em resposta à função DDEInitiate. Todo aplicativo que corresponde ao par aplicativo ou tópico que é passado a DDEInitiate envia uma $MsgDDEInitAcknowledge com os seguintes itens:
  • Seu identificador de janela DDE ($DDEWindow)
  • O par aplicativo/tópico correspondente ($DDEData)
  • O tópico da conversação ($DDETopic).
Parâmetros de eventos Há dois parâmetros de eventos:
  • $DDETopic contém o tópico que foi solicitado
  • $DDEData contém o aplicativo que está respondendo ao pedido
Notas Uma mensagem $MsgDDEInitAcknowledge é enviada para cada par aplicativo ou tópico correspondente. Por exemplo, se a cadeia de tópicos for especificada para ficar em branco, o servidor enviará $MsgDDEInitAcknowledge para cada tópico que suportar.

$MsgDDEInitiate

Recebida por Qualquer aplicativo em potencial do servidor DDE.
Descrição $MsgDDEInitiate é recebida quando um aplicativo solicita que o aplicativo de recepção seja um servidor DDE. O aplicativo de recepção deve verificar o nome do aplicativo em $DDEData para determinar se é o destinatário planejado.
Se o aplicativo for o destinatário planejado, ele deverá verificar o valor de $DDETopic para determinar se pode preencher o pedido. Cadeias com comprimento zero em $DDEData e $DDETopic são aceitas como correspondências para qualquer aplicativo e tópico.
Parâmetros de eventos Há dois parâmetros de eventos:
  • $DDETopic contém o tópico. Se for $Unknown ou uma cadeia vazia (''), o cliente pedirá para responder se você pode conversar sobre o tópico.
  • $DDEData contém o aplicativo com o qual o cliente solicita uma conversação. Se for $Unknown ou uma cadeia vazia (''), o cliente pedirá para responder se você pode conversar sobre o tópico.
Resposta Chamar DDERespond. Passa cada tópico e nome do aplicativo conforme necessário.
Notas Não utilize DlgBox, WinMessageBox ou WinWait enquanto processa uma mensagem $MsgDDEInitiate.
$MsgDDEInitiate distribui uma mensagem para os aplicativos e bloqueia a fila de mensagens até que uma resposta seja retornada. Enquanto isso, cada uma essas instruções inicia uma rotina de tratamento de eventos que também está esperando por uma resposta da fila de mensagens.
Essas instruções evitam que outros aplicativos enviem mensagens para a fila de mensagens. Isto resulta em um bloqueio, que bloqueia efetivamente a interface com o usuário.

$MsgDDEPoke

Recebida por Qualquer servidor DDE.
Descrição Contém dados não-solicitados (dados que não são enviados em resposta a uma consulta ou mensagem de pedido).
Parâmetros de eventos Há vários parâmetros de eventos:
  • $DDETopic contém o tópico ou item sendo ressaltado
  • $DDEData contém o valor dos dados
  • Somente no OS/2: $DDEStatus
Resposta O aplicativo do destinatário deverá enviar uma confirmação ($DDEAck) se os dados tiverem sido utilizados ou processados.

$MsgDDERequest

Recebida por Qualquer servidor DDE.
Descrição É um pedido de dados em um tópico.
Parâmetros de eventos Há dois parâmetros de eventos:
  • $DDETopic contém o tópico ou item solicitado
  • $DDEData contém $Unknown
Resposta Chamar DDEData. Passar informações solicitadas.
Valor da Saída Sair com $DDEAck se os dados estiverem sendo retornados.

$MsgDDETerminate

Recebida por Parceiro DDE (cliente ou servidor).
Descrição Termina a conversação. Qualquer parceiro pode enviar $MsgDDETerminate em qualquer hora.
Parâmetros de eventos Consulte o tópico "Sinônimos do DDE" para obter a lista dos sinalizadores de status válidos.
Resposta Se você chamou DDETerminate, não deverá executar nenhuma resposta. Se não chamou DDETerminate, então ela deverá ser chamada.

$MsgDDEUnAdvise

Recebida por Qualquer servidor DDE.
Descrição Isso cancela um pedido de consulta para um determinado par cliente ou tópico. Esta é uma mensagem somente de texto.
Parâmetros de eventos (Windows) Os parâmetros de eventos a seguir são utilizados no Windows:
  • $DDETopic - Tópico para encerrar a consulta em
  • $DDEData - $Unknown
Parâmetros de eventos (OS/2) Os parâmetros de eventos a seguir são utilizados com o OS/2:
  • $DDETopic - Tópico para encerrar a consulta em
  • $DDEData - Cadeia com comprimento zero
Notas Se a cadeia de tópicos estiver em branco, todas as consultas do cliente deverão ser canceladas.

Mensagens de Transmissão

Esta seção abrange os seguintes tópicos:

Os programas TSD Script podem transmitir mensagens para outras partes do aplicativo ou para o sistema em janelas. Qualquer janela ou caixa de diálogo pode enviar ou remeter, conforme apropriado, qualquer uma das mensagens de transmissão.

A tabela de mensagens de transmissão lista as mensagens de informações que podem ser enviadas ou remetidas para os identificadores de janelas.

Itens listados na coluna $Event representam as constantes de mensagens.

Itens listados na coluna Receptor representam o tipo de componente do aplicativo (caixa de diálogo ou janela) que recebe a mensagem.

Alguns itens listados na coluna Receptor são abreviados. Por exemplo:

A coluna Remeter/Enviar indica se a mensagem é enviada com a instrução PostMessage ou SendMessage, ou ambas. Se um item é enviado, ele tem uma descrição mais completa no tópico "Mensagens Enviadas." Se a mensagem é remetida, ela é melhor descrita em "Mensagens Remetidas."

A coluna Parâmetros contém os parâmetros para as mensagens.

Dica: A ordem dos parâmetros é significativa porque os parâmetros devem ser utilizados na seqüência em que estão listados.

A tabela a seguir lista as mensagens de informações que podem ser enviadas (com uma instrução SendMessage) ou remetidas (com uma instrução PostMessage) para os identificadores de janelas.

Tabela de Mensagens de Transmissão

$Event Receptor Remeter/Enviar Parâmetros
$MsgActivate Qualquer janela com um quadro S, P nenhum
$MsgChar Qualquer caixa de diálogo S, P 1=ID do campo, 2=nome do campo, 3=código da tecla
$MsgClockSet Janela com relógio S Time
$MsgClose Qualquer S Nenhum
$MsgDisplayImage Janela de visualizador de hipertexto S, P 1=nome do arquivo, 2=título, 3=estilo
$MsgEnable Qualquer S, P enableState
$MsgMaximize Qualquer caixa de diálogo ou janela com um quadro S nenhum
$MsgMenu Qualquer janela ou caixa de diálogo com uma barra de menus S, P menuSelection, 2=cadeia
$MsgMinimize Qualquer janela ou caixa de diálogo com um quadro S nenhum
$MsgMove Qualquer janela ou caixa de diálogo com um quadro S 1=x, 2=y
$MsgOpenFile Janela de visualizador de hipertexto S, P 1=nome do arquivo, 2=título, 3=estilo
$MsgPaint Qualquer S, P nenhum
$MsgPaintStatus Qualquer janela ou caixa de diálogo com uma barra de status P nenhum
$MsgPlaySound Janela de visualizador de hipertexto S, P 1=nome do arquivo, 2=título, 3=estilo
$MsgReadOnly Caixa de diálogo S writeState
$MsgRestore Qualquer janela ou caixa de diálogo com um quadro S nenhum
$MsgSearch Janela de visualizador de hipertexto S, P searchText
$MsgSetIcon Janela S iconFile
$MsgSetImage Janela de imagem
Caixa de diálogo, janela deslocável
S
S
imageFile
ID de Janela
$MsgSetSize Qualquer janela ou caixa de diálogo com um quadro S 1=largura, 2=altura
$MsgSetTitle Qualquer janela ou caixa de diálogo com um quadro S title
$MsgShow Qualquer S visibilityState
$MsgSize Janela genérica, deslocável S 1=largura, 2=altura
$MsgStartTimer Qualquer janela ou caixa de diálogo com uma rotina de tratamento de eventos S 1=ID do temporizador, 2=intervalo
Importante: O intervalo não pode exceder 65535.
$MsgStopTimer Qualquer janela ou caixa de diálogo com uma rotina de tratamento de eventos S ID do temporizador
$MsgTimer Qualquer caixa de diálogo S, P ID do temporizador
$MsgUpdate Janela de visualizador de hipertexto S, P nenhum
$MsgUser+n Qualquer S, P As informações pertencem ao emissor e receptor

A tabela a seguir lista as mesmas mensagens de informações de transmissão e descreve o efeito de cada mensagem.

Definições das Mensagens de Transmissão

Evento Descrição
$MsgActivate Ativa a janela de recepção
$MsgClockSet Define o relógio com uma nova hora
$MsgClose Destrói a janela
$MsgDisplayImage Cria um novo visualizador de imagens em uma janela de visualizador de hipertexto
$MsgEnable Define o estado de ativação da janela
$MsgMaximize Maximiza a janela de destino
$MsgMenu Simula a seleção de um item de menu de um usuário
$MsgMinimize Minimiza a janela de destino para um ícone no desktop
$MsgMove Move o canto superior esquerdo da janela de destino
$MsgOpenFile Cria uma nova janela de visualizador de hipertexto para exibir um arquivo
$MsgPaint Faz com que a própria janela de destino seja repintada
$MsgPaintStatus Faz com que a janela de destino repinte sua barra de status
$MsgPlaySound Cria uma nova janela de visualizador de hipertexto para tocar um arquivo de áudio
$MsgReadOnly Informa uma caixa de diálogo para definir certos controles como somente de leitura
$MsgRestore Faz com que um destino restaure seu tamanho.
$MsgSearch Informa a janela de visualizador de hipertexto para procurar uma linha e movê-la para a parte de cima da janela de visualizador de hipertexto
$MsgSetIcon Define o ícone para a janela quando minimizada
$MsgSetImage Define a imagem a ser exibida em janelas de imagens
$MsgSetSize Define o tamanho integral da janela
$MsgSetTitle Define o conteúdo da barra de título de uma janela
$MsgShow Define o atributo de visibilidade da janela
$MsgSize Define o tamanho da área de trabalho da janela
$MsgStartTimer Inicia o temporizador para a janela
$MsgStopTimer Encerra o temporizador
$MsgTimer Simula uma mensagem do temporizador sendo enviada para a janela
$MsgUpdate Informa a caixa de diálogo para atualizar os valores exibidos em seus controles a partir dos dados no registro da ocorrência.
Esta mensagem só pode ser enviada ou remetida para uma caixa de diálogo
Esta mensagem força a caixa de diálogo a atualizar os valores exibidos em seus controles a partir dos dados em seus registros de ocorrências.
Esta mensagem é um mecanismo útil para alterar vários campos em uma caixa de diálogo com um único comando (ao contrário de várias chamadas de função DlgSetFieldValue). Você atualiza o valor no registro e envia esta mensagem para a caixa de diálogo.
$MsgUser+n Comunica uma mensagem definida pelo programa a uma janela

Mensagens de Transmissão: Como Remeter e Enviar

O TSD Script fornece duas rotinas internas para transmitir mensagens e dados: SendMessage e PostMessage. A diferença principal entre enviar e remeter uma mensagem é que SendMessage espera até que a rotina de tratamento de eventos chamada conclua o processamento da mensagem. PostMessage coloca as informações em uma fila de eventos, o que permite que a rotina de remessa continue sem esperar a conclusão da mensagem.

Certos tipos de mensagens não podem ser remetidos para alguns tipos de janelas.

Ao transmitir uma mensagem, você utiliza a instrução SendMessage ou PostMessage, conforme apropriado. A sintaxe dessas instruções é basicamente a mesma:

SendMessage (VAL whdl: WINDOW,
 VAL message: INTEGER,
 [VAL or REF messageParm: ANY...]):
 INTEGER;

Para obter mais informações, consulte SendMessage ou PostMessage.

Os tópicos que seguem nas Mensagens de Transmissão são organizados por aqueles que podem ser enviados (transmitidos com SendMessage) e por aqueles que podem ser remetidos (transmitidos com PostMessage).

Mensagens Enviadas

As mensagens a seguir podem ser enviadas para identificadores de janelas com a instrução SendMessage.

$MsgActivate

Enviar para Pode ser enviada para qualquer janela com um quadro
Descrição Faz com que a janela de recepção se torne a janela ativa

$MsgClockSet

Enviar para Pode ser enviada para qualquer janela com um relógio
Descrição Define o relógio com uma nova hora
Parâmetros de eventos O parâmetro de evento (time) contém a nova hora do relógio
Notas Consulte WinCreateClock

$MsgClose

Enviar para Pode ser enviada para qualquer janela
Descrição Destrói a janela

$MsgDisplayImage

Enviar para Pode ser enviada para uma janela de visualizador de hipertexto
Descrição Cria um novo visualizador de imagens e exibe o arquivo especificado
Parâmetros de eventos Há três parâmetros de eventos:
O primeiro parâmetro de evento contém o nome do arquivo (cadeia) que aparece na janela de visualizador de hipertexto
O segundo parâmetro de evento contém o título (cadeia) que aparece na barra de título
O terceiro parâmetro de evento contém o estilo composto de qualquer combinação dos estilos a seguir, combinado com a instrução BitOr:
  • $HyperScrollImage - A janela de visualizador de hipertexto possui uma barra de rolamento vertical.
  • $HyperScaleImage - A imagem é escalada para se encaixar na janela de visualizador de hipertexto.
  • $HyperNoWordWrap - O texto na janela de visualizador de hipertexto não tem quebra de linha.

$MsgEnable

Enviar para Pode ser enviada para qualquer janela.
Descrição Define o estado ativado da janela.
Parâmetros de eventos O parâmetro de evento contém TRUE ou FALSE, representando o estado ativado da janela.
  • TRUE indica que a janela está ativada
  • FALSE indica que a janela está desativada

$MsgMaximize

Enviar para Pode ser enviada para qualquer janela com um quadro
Descrição Maximiza a janela de recepção para preencher toda a tela

$MsgMenu

Enviar para Pode ser enviada para qualquer janela com uma barra de menus
Descrição Simula um usuário selecionando a opção de menu especificada
Parâmetros de eventos O parâmetro de evento contém o valor do item de menu selecionado (inteiro). Este valor é calculado utilizando-se a fórmula
n * 100 + m

onde n é a posição da seleção ativa na barra de menus principal e m é a posição da seleção no submenu.

Notas Para obter mais informações, consulte WinSetMenuBar.

$MsgMinimize

Enviar para Pode ser enviada para qualquer janela com um quadro
Descrição Minimiza a janela de recepção para um ícone

$MsgMove

Enviar para Pode ser enviada para qualquer janela
Descrição Move o canto superior esquerdo do quadro da janela para a posição especificada
Parâmetros de eventos Há dois parâmetros de eventos:
  • O primeiro parâmetro de evento contém a nova localização X (inteiro) da janela.
  • O segundo parâmetro de evento contém a nova localização Y (inteiro) da janela.

$MsgOpenFile

Enviar para Pode ser enviada para uma janela de visualizador de hipertexto
Descrição Cria um novo visualizador de arquivos e exibe o arquivo especificado
Parâmetros de eventos Há três parâmetros de eventos:
  • O primeiro parâmetro de evento contém a nome do arquivo (cadeia) a ser aberto.
  • O segundo parâmetro de evento contém o título (cadeia) que aparece no visualizador de arquivos.
  • O terceiro parâmetro de evento contém qualquer combinação dos seguintes estilos, combinados com a instrução BitOr:
    • $HyperScrollImage - A janela de visualizador de hipertexto possui uma barra de rolamento vertical.
    • $HyperScaleImage - A imagem é escalada para se encaixar na janela de visualizador de hipertexto.
    • $HyperNoWordWrap - O texto na janela de visualizador de hipertexto não tem quebra de linha.

$MsgPlaySound

Enviar para Pode ser enviada para uma janela de visualizador de hipertexto.
Descrição Cria um novo reprodutor de áudio e toca o arquivo especificado.
Parâmetros de eventos Há três parâmetros de eventos:
  • O primeiro parâmetro de evento contém a nome de arquivo (cadeia) do arquivo de áudio a ser tocado.
  • O segundo parâmetro de evento contém o título (cadeia) que aparece na janela de visualizador de hipertexto.
  • O terceiro parâmetro de evento contém o estilo do visualizador de hipertexto (utilize o valor, 0).

$MsgReadOnly

Enviar para Pode ser enviada para uma caixa de diálogo do TSD Script
Descrição Define ou limpa o sinalizador somente de leitura em uma caixa de diálogo
Parâmetros de eventos O parâmetro de evento contém TRUE ou FALSE.
  • TRUE indica que a caixa de diálogo é somente de leitura.
  • FALSE indica que a caixa de diálogo é de leitura/gravação.
Notas Consulte DlgBox para obter mais informações.

$MsgRestore

Enviar para Pode ser enviada para qualquer janela com um quadro
Descrição Restaura a janela de recepção para seu tamanho original (antes de ser minimizada ou maximizada)

$MsgSearch

Enviar para Pode ser enviada para uma janela de visualizador de hipertexto.
Descrição Procura o texto especificado na janela ativa de visualizador de sub-hipertexto. Se for encontrada uma correspondência, a linha com a correspondência será posicionada na parte superior do visualizador.
Parâmetros de eventos O parâmetro de evento contém a cadeia a ser procurada na janela de visualizador de hipertexto.
Notas Espera-se que a janela ativa de visualizador de sub-hipertexto seja um visualizador de texto. Isso sempre será verdade se a mensagem de pesquisa for enviada em resposta a uma mensagem de botão. Mensagens definidas pelo usuário podem ser enviadas para qualquer janela que possua uma função de evento.
Todas as mensagens definidas pelo usuário devem ter um valor de $MsgUser ou maior. Qualquer parâmetro adicional pode ser passado com uma mensagem definida pelo usuário.
É responsabilidade da janela de recepção saber quais parâmetros são válidos para a mensagem. Se os parâmetros adicionais puderem ser atribuídos na instrução SendMessage, poderão ser atribuídos na função de evento.

$MsgSetIcon

Enviar para Pode ser enviada para uma janela genérica, janela de deslocamento, janela de visualizador de hipertexto ou caixa de diálogo
Descrição Define o ícone que é exibido quando a janela é minimizada
Parâmetros de eventos O parâmetro de evento contém o nome do arquivo de ícones a ser exibido (cadeia)

$MsgSetImage

Enviar para Pode ser enviada para uma janela de imagem.
Descrição Define a imagem.
Parâmetros de eventos O parâmetro de evento contém o nome do arquivo de imagem a ser exibido (cadeia). A imagem pode ser um arquivo de bitmap do OS/2, um bitmap do Windows ou um arquivo de imagem .PCX.
Notas Consulte WinCreateImage para obter mais informações.

$MsgSetSize

Enviar para Pode ser enviada para qualquer janela
Descrição Define o tamanho da janela (incluindo quadro, barra de título e outros elementos)
Parâmetros de eventos Há dois parâmetros de eventos:
  • O primeiro parâmetro de evento contém a largura (inteiro) da janela.
  • O segundo parâmetro de evento contém a altura (inteiro) da janela.

$MsgSetTitle

Enviar para Pode ser enviada para qualquer janela com uma barra de título
Descrição Define o texto da barra de título com o texto especificado
Parâmetros de eventos O parâmetro de evento contém o texto (cadeia) a ser exibido na barra de título

$MsgShow

Enviar para Pode ser enviada para qualquer janela
Descrição Define a visibilidade de uma janela
Parâmetros de eventos O parâmetro de evento contém TRUE ou FALSE, indicando se a janela está visível (TRUE) ou invisível (FALSE)

$MsgSize

Enviar para Pode ser enviada para uma janela genérica ou deslocável.
Descrição Define o tamanho da área de usuário da janela com a altura e largura especificados. Ajusta o tamanho do quadro da janela de acordo.
Parâmetros de eventos Há dois parâmetros de eventos:
  • O primeiro parâmetro de evento contém a largura (inteiro) da janela.
  • O segundo parâmetro de evento contém a altura (inteiro) da janela.

$MsgStartTimer

Enviar para Pode ser enviada para uma janela genérica ou deslocável.
Descrição Inicia um temporizador do sistema para a janela. O temporizador envia uma mensagem $MsgTimer para a janela, em intervalos especificados.
Parâmetros de eventos Há dois parâmetros de eventos:
  • O primeiro parâmetro de evento contém o ID (inteiro) do temporizador.
  • O segundo parâmetro de evento contém o intervalo (inteiro) das mensagens $MsgTimer. O intervalo é expresso em milissegundos. No Windows e no OS/2, este intervalo não pode exceder 65535.
Notas O sistema operacional não garante a precisão do intervalo no qual a mensagem $MsgTimer é enviada para a janela.
Há um número limitado de temporizadores disponíveis. Sempre encerre um temporizador quando não precisar mais dele.

$MsgStopTimer

Enviar para Pode ser enviada para uma janela genérica ou deslocável
Descrição Encerra o temporizador iniciado com $timerId
Parâmetros de eventos O parâmetro de evento contém o ID do temporizador (inteiro)

$MsgTimer

Enviar para Pode ser enviada para uma janela genérica ou deslocável
Descrição Simula uma mensagem do temporizador sendo enviada para uma janela
Parâmetros de eventos O parâmetro de evento contém o ID do temporizador (inteiro)

$MsgUser + n

Enviar para Qualquer janela ou caixa de diálogo, conforme definido pelo usuário.
Descrição Esta é uma constante de mensagem definida pelo usuário
Parâmetros de eventos Qualquer parâmetro pode ser passado com uma mensagem definida pelo usuário. Se os parâmetros adicionais puderem ser atribuídos na instrução SendMessage, poderão ser atribuídos na função de evento.
A janela de recepção deve saber quais parâmetros são válidos para a mensagem.
Notas Todas as mensagens definidas pelo usuário devem ter um valor de $MsgUser+n, onde n é qualquer número escolhido para ser atribuído à nova constante de mensagem.

Mensagens Remetidas

As mensagens a seguir podem ser enviadas para identificadores de janelas com a instrução PostMessage.

$MsgMenu

Remetida para Pode ser remetida para qualquer janela com uma barra de menus
Descrição Simula a seleção de usuário de um item de menu que tem o ID especificado no argumento menuSelection.
Parâmetros de eventos menuSelection (inteiro)
Notas Consulte WinSetMenuBar para obter mais informações

$MsgMove

Remetida para Pode ser remetida para qualquer janela
Descrição Move o canto superior esquerdo do quadro da janela para a posição especificada
Parâmetros de eventos Há dois parâmetros de eventos:
  • O primeiro parâmetro de evento contém a localização X (inteiro) da janela.
  • O segundo parâmetro de evento contém a localização Y (inteiro) da janela.

$MsgPaint

Remetida para Pode ser remetida para qualquer janela
Descrição Solicita que a janela recomponha a si mesma

$MsgPaintStatus

Remetida para Pode ser remetida para qualquer janela com uma barra de status
Descrição Solicita que a janela repinte sua barra de status

$MsgUser+n

Remetida para Mensagens definidas pelo usuário podem ser remetidas para qualquer janela que possua uma função de evento.
Descrição Todas as mensagens definidas pelo usuário devem ter um valor de $MsgUser ou maior.
Parâmetros de eventos Qualquer parâmetro de evento pode ser passado com uma mensagem definida pelo usuário. É responsabilidade da janela de recepção saber quais parâmetros são válidos para a mensagem. Os parâmetros são sempre passados por valor.

Mensagens de Transmissão do DDE

Todas as comunicações de saída de seu aplicativo DDE devem ser manipuladas através de instruções TSD Script apropriadas. Consulte as seguintes instruções:

Dica: Toda vez que uma mensagem DDE for recebida, uma mensagem $MsgDDEAcknowledge deverá ser retornada. O não retorno da mensagem $MsgDDEAcknowledge poderá resultar em perda de memória.

Dica: Se desejar enviar uma confirmação positiva quando uma $MsgDDExxx for recebida, EXIT ($DDEAck). Se desejar enviar uma confirmação negativa, EXIT(0).


Tivoli Service Desk 6.0 Developer's Toolkit - Referência de Linguagem do Script

Retornar à Página Principal

Copyright