Riferimento Lingua del Tivoli Service Desk 6.0 Developer's Toolkit Script

Messaggi TSD Script

Ritorna alla pagina principale


Panoramica degli eventi e dei messaggi

In un'applicazione TSD Script visualizzata in finestre, gli eventi sono gli elementi funzionali primari dell'applicazione. Ogni evento rappresenta un'azione che può scaturire in una reazione. Questi eventi possono provenire da diverse origini, comprese:

Per gestire gli eventi, si creano gli handler degli eventi. Un handler degli eventi è una routine che definisce i tipi di eventi che possono verificarsi all'interno di una specifica area dell'applicazione e le reazioni appropriate a tali eventi. L'handler degli eventi accede a $Event, che è una variabile contenente una costante dei messaggi. Questa costante di messaggio rappresenta il tipo esatto di attività che si sta verificando. Questa pagina fornisce informazioni dettagliate su queste costanti dei messaggi, oppure i messaggi come vengono riportati qui.

Messaggi che si inviano e si ricevono

Le caselle di dialogo e le finestre ricevono le istruzioni dall'utente e forniscono le informazioni all'applicazione TSD Script. Questa attività viene definita come attività di inoltro dei messaggi.

E' necessario tener conto dei messaggi che si ricevono e che si inviano in quanto l'utente definisce gli handler degli eventi.

Questa pagina raggruppa i messaggi in:

Alcune chiamate alle funzioni TSD Script (come ad esempio quelle che interessano i comandi nell'interfaccia utente) possono trasmettere i messaggi ad un handler degli eventi. Ad esempio, richiamando DlgSetFieldValue per una casella di dialogo, il comando invia un $MsgSelect all'handler degli eventi per la finestra di dialogo.

Messaggi ricevuti dalle istruzioni TSD Script

Come descritto all'inizio di questa pagina, gli eventi (e i loro messaggi) possono provenire da diverse origini. Esistono diverse istruzioni TSD Script che inviano i messaggi direttamente all'applicazione dell'utente.

Queste istruzioni TSD Script, e i messaggi che l'applicazione dell'utente può ricevere, vengono elencate nella tabella seguente.

Istruzione TSD Script Messaggi tipici ricevuti
DlgSelectField $MsgExitField, $MsgEnterField, $MsgSelect
DlgSetFieldValue $MsgSelect or $MsgInitialize
DlgListBoxClear, DlgListBoxDelete $MsgSelect
DlgListBoxInsert, DlgListBoxUpdate $MsgSelect
DlgSQLSelect, DlgSetListBoxIndex $MsgSelect
DlgBox, DlgCreate $MsgCreate, $MsgInitialize
WinCreate $MsgSize, $MsgCreate
WinCreateHyperViewer $MsgCreate
WinCreateScrollWindow $MsgCreate
WinSetIconBar, WinSetMenuBar $MsgSize

Messaggi definiti dall'utente

Ogni costante dei messaggi rappresenta un numero che viene interpretato da un'applicazione TSD Script. La costante dei messaggi $MsgUser, contiene il valore più alto nell'intervallo dei numeri riservato dal Tivoli Systems Inc. per i valori delle costanti dei messaggi.

Per creare un messaggio di personalizzazione per l'applicazione, utilizzare $MsgUser+n dove n è un qualsiasi numero assegnato alla nuova costante dei messaggi. Come una costante dei messaggi, $MsgUser+n è disponibile sia come messaggio da inviare che come messaggio da ricevere. Ulteriori informazioni su $MsgUser+n sono disponibili più avanti in questa pagina.


Messaggi ricevibili

Questa sezione tratta i seguenti argomenti:

Sommario dei messaggi ricevibili

I messaggi ricevibili sono i messaggi ricevuti da un evento. La tabella dei messaggi ricevibili riassume tutti i messaggi ricevibili nel TSD Script.

Per aiutare l'utente ad interpretare la tabella dei messaggi ricevibili, ricordarsi dei seguenti suggerimenti:

  1. Le voci elencate nella colonna $Event rappresentano le costanti dei messaggi.
  2. Le voci elencate nella colonna Origine rappresentano il tipo di componente dell'applicazione (casella di dialogo o finestra) che invia il messaggio.
  3. Alcune voci elencate nella colonna Origine vengono abbreviate nel seguente modo:
  4. Gli argomenti "Messaggi ricevibili delle finestre di dialogo," "Messaggi ricevibili delle finestre," e "Messaggi ricevibili DDE" comprendono le descrizioni complete dei messaggi e i loro parametri.
  5. La colonna Parametri elenca i parametri degli eventi definiti per la costante dei messaggi nella colonna $Event. I valori dei sinonimi iniziano con $.

Tabella dei messaggi ricevibili

$Event Origine Parametri
$MsgAccept Casella di dialogo $FieldId, $FieldName
$MsgButton Casella di dialogo, finestra ipertesto 1=testo del pulsante,
2=ID del pulsante
$MsgCancel Casella di dialogo $FieldId, $FieldName
$MsgChar Casella di dialogo

Altri

$FieldId, $FieldName,
3=Codice chiave

$KeyCode

$MsgCreate Casella di dialogo

Altri

$FormFile, $FormName

Nessuno

$MsgDDEAcknowledge Tutte $DDEWindow, $DDEStatus (consultare Sinonimi DDE)
$MsgDDEAdvise Tutte $DDEWindow, $DDETopic
$MsgDDEData Tutte $DDEWindow, $DDETopic, $DDEData
$MsgDDEExecute Tutte $DDEWindow, $DDETopic, $DDEData
$MsgDDEInitAcknowledge Tutte $DDEWindow, $DDETopic, $DDEData
$MsgDDEInitiate Tutte $DDEWindow, $DDETopic, $DDEData
$MsgDDEPoke Tutte $DDEWindow, $DDETopic, $DDEData
$MsgDDERequest Tutte $DDEWindow, $DDETopic
$MsgDDETerminate Tutte $DDEWindow
$MsgDDEUnAdvise Tutte $DDEWindow, $DDETopic
$MsgDestroy Tutte Nessuno da nessuna finestra
$MsgEnterField Casella di dialogo $FieldId, $FieldName
$MsgExitField Casella di dialogo $FieldId, $FieldName
$MsgFocus Tutte $EventParm (1, booleano)
$MsgHelp Casella di dialogo $FieldId, $FieldName
$MsgImage Padre di una finestra immagine 1=ID immagine
$MsgInitialize Casella di dialogo $FieldId, $FieldName,
3=vecchio valore, 4=nuovo valore
$MsgLabel Casella di dialogo, finestra ipertesto 1=testo pulsante, 2=etichetta pulsante
$MsgMandField Casella di dialogo $FieldId, $FieldName
$MsgMouse Area mouse 1=ID, 2=attività mouse, 3=X, 4=Y
$MsgMenu Barra dei menu


Barra degli strumenti

$MenuSelection (n*100 + m) o definito dall'utente,
$MenuId, 2=stringa

$MenuSelection (1-99) o definito dall'utente,
$MenuId, 2=stringa

$MsgPaint Generica Nessuno
$MsgPaintStatus Ogni casella di dialogo o finestra che contiene
una barra di stato.
Nessuno
$MsgPageChange Ogni casella di dialogo che contiene un blocco appunti 1 = il nome della pagina visualizzata prima che si verificasse il cambiamento di pagina
2 = il nome della pagina al momento visualizzata (i.e., la nuova pagina)
$MsgPageChangeRequest Ogni casella di dialogo che contiene un blocco appunti 1 = il nome della pagina visualizzata prima che si verificasse il cambiamento di pagina
2 = il nome della pagina al momento visualizzata (i.e., la nuova pagina)
$MsgScroll Finestra generica 1=$WinHScroll/$WinVScroll, 2=thumb location
$MsgSelect Casella di dialogo $FieldId, $FieldName, 3=vecchio valore, 4=nuovo valore
$MsgSize Finestra generica, a scorrimento 1=larghezza della finestra, 2=altezza della finestra
$MsgTimer Tutti 1=ID timer
$MsgUser+n Tutti I dettagli appartengono al mittente e al destinatario.

Sinonimi e parametri dei messaggi

Ogni costante dei messaggi è, in realtà, un parametro dell'istruzione $Event. La definizione della costante dei messaggi, tuttavia, comprende ulteriori informazioni o parametri degli eventi. Ad esempio, se un utente sceglie un pulsante in una casella di dialogo, l'applicazione riceve una costante dei messaggi $MsgButton. I parametri degli eventi definiti per questa costante dei messaggi sono il nome campo e l'ID campo del pulsante scelto.

Quando si riceve il messaggio $MsgButton, è possibile ottenere i valori del parametro degli eventi utilizzando i sinonimi dei messaggi. I sinonimi rappresentano una scorciatoia per ottenere i valori. Ad esempio, per ottenere il valore del nome campo, è necessario utilizzare il sinonimo, $FieldName. Ad esempio:

Name of Field: = $FieldName;

Nel caso in cui non esistessero sinonimi definiti per un parametro degli eventi, è possibile utilizzare $EventParm per ottenere il valore. Per utilizzare $EventParm, è necessario specificare il numero del parametro dell'evento e il tipo di dati del valore. Ad esempio, per tutti i messaggi ricevibili della casella di dialogo, il nome campo è contenuto nel parametro degli eventi due. Per ottenere il valore del parametro degli eventi del nome campo, è possibile utilizzare la seguente notazione:

$EventParm (2, string);

Di seguito viene riportato un esempio.

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

Se possibile, è necessario utilizzare i sinonimi per ottenere i valori del parametro degli eventi. La Tabella dei messaggi ricevibili elenca i sinonimi e i parametri degli eventi per ognuno dei messaggi ricevibili.

Suggerimento: Tutti i messaggi delle caselle di dialogo hanno sinonimi definiti per gli stessi parametri del primo e del secondo evento: $FieldId (parametro degli eventi uno) contiene l'ID campo e $FieldName (parametro degli eventi due) contiene il nome campo.

Quando si trasmette un messaggio, l'ordine dei parametri degli eventi è importante. Per ulteriori informazioni, consultare "Trasmissione messaggi: spedizione e invio". Consultare inoltre le istruzioni PostMessage e SendMessage.

Messaggi ricevibili delle finestre di dialogo

Questa sezione tratta i messaggi che possono essere ricevuti da un handler degli eventi originato da una casella di dialogo.

Suggerimento: I messaggi ricevibili originati da una casella di dialogo coinvolta in una conversazione DDE vengono elencati sotto l'argomento "Messaggi ricevibili nella DDE" in questa sezione.

La seguente tabella elenca solo i messaggi originati da una casella di dialogo e che possono essere ricevuti da un handler degli eventi.

Tabella dei messaggi ricevibili (Solo messaggi delle caselle di dialogo)

$Event Origine Parametri
$MsgAccept Casella di dialogo $FieldId, $FieldName
$MsgButton Casella di dialogo 1=testo del pulsante, 2=pulsante dell'Id
$MsgCancel Casella di dialogo $FieldId, $FieldName
$MsgChar Casella di dialogo


Altri

$FieldId, $FieldName, 3=Codice chiave

$KeyCode

$MsgCreate Casella di dialogo $FormFile, $FormName
$MsgDestroy Tutti Nessuno
MsgDisplayImage Casella di dialogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=intero, 2=stringa, 3=stringa, 4=stringa
$MsgEnterField Casella di dialogo $FieldId, $FieldName
$MsgExitField Casella di dialogo $FieldId, $FieldName
$MsgHelp Casella di dialogo $FieldId, $FieldName
$MsgImage Finestra padre dell'immagine 1=ID dell'immagine
$MsgInitialize Casella di dialogo $FieldId, $FieldName, 3=Vecchio valore, 4=Nuovo valore
$MsgLabel Casella di dialogo 1=testo pulsante, 2=etichetta pulsante
$MsgListboxAccept Casella di dialogo $FieldId, $FieldName, 3=stringa per caselle di elenco, intero per tabella
$MsgMandField Casella di dialogo $FieldId, $FieldName
$MsgMouse Area mouse 1=ID, 2=attività mouse, 3=X, 4=Y
$MsgMenu Barra dei menu


Barra degli strumenti

$MenuSelection (n*100 + m)


$MenuSelection (1-99)

$MsgOpenFile Casella di dialogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=intero, 2=stringa, 3=stringa, 4=stringa
$MsgPlaySound Casella di dialogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=intero, 2=stringa, 3=stringa, 4=stringa
$MsgRunProgram Casella di dialogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=intero, 2=stringa, 3=stringa, 4=stringa
$MsgSearch Casella di dialogo $ButtonText, $FieldId, $FieldName, $FileName, $ImageFile, $ProgramArguments, $SearchText, $SoundFile,
1=intero, 2=stringa, 3=stringa, 4=stringa
$MsgSelect Casella di dialogo $FieldId, $FieldName, 3=Vecchio valore, 4=Nuovo valore
$MsgTimer Tutti 1=ID timer
$MsgUser+n Tutti I dettagli appartengono al mittente e al destinatario

Sinonimi della casella di dialogo

Esistono diversi sinonimi che vengono utilizzati con i messaggi reperibili delle caselle di dialogo. I sinonimi che vengono utilizzati con maggior frequenza sono $FieldId e $FieldName.

Gli altri sinonimi che appaiono nella tabella dei messaggi ricevibili sono spiegati in modo completo con i rispettivi messaggi. Per informazioni generali sull'utilizzo dei sinonimi, consultare l'argomento "Sinonimi e parametri di messaggio" in questa pagina.

Descrizioni dei messaggi delle caselle di dialogo ricevibili

Messaggi ricevibili delle caselle di dialogo elencati nella Tabella dei messaggi ricevibili vengono descritti di seguito.

$MsgAccept

Ricevuto da Ogni casella di dialogo che contiene il comando.
Descrizione $MsgAccept viene ricevuto quando un evento di accettazione viene generato nella casella di dialogo.
Parametri di evento Esistono due parametri di evento:
  • $FieldId contiene l'ID comando (intero)
  • $FieldName contiene il nome del comando (stringa)
Risposta L'azione di accettazione può essere annullata restituendo 0 dal gruppo degli eventi.
Note Un evento di accettazione può verificarsi nei seguenti modi:
  • Quando un utente sceglie un pulsante associato all'azione di accettazione. (Generalmente, si tratta del pulsante OK.)
  • Se l'utente sta lavorando in un comando Modifica più righe, viene creato $MsgAccept quando l'utente inserisce una nuova riga.
  • Se l'utente sta lavorando in una casella di elenco, può verificarsi un evento di accettazione se l'utente fa doppio clic su una voce o se seleziona una voce e preme il pulsante Invio.
  • E' possibile inoltre creare un evento dei messaggi se l'utente preme il tasto Invio in una casella di dialogo che ha un pulsante di default definito.

In OS/2, in caso di nessun pulsante definito come pulsante di default, e se il cursore non è in un campo che interpreta il tasto Invio, un evento di accettazione viene creato quando l'utente preme il pulsante Invio.
In Windows, se l'utente preme il tasto Invio, questo interessa il pulsante di default oppure genera un $MsgAccept. Se l'azione non viene annullata, la casella di dialogo si chiude.

$MsgButton

Ricevuto da Ogni finestra del programma di visualizzazione ipertesto.
Descrizione $MsgButton viene ricevuto quando si seleziona un pulsante di tipo ID (il tipo di default) in una finestra del programma di visualizzazione di ipertesto.
Nota: Un pulsante in un programma di visualizzazione di ipertesto rappresenta un collegamento con un'altra entità (come ad esempio un altro file, un altro punto nel file esistente, un'immagine, un file sonoro o un file eseguibile.).
Parametri di evento Esistono due parametri di evento:
  • Il parametro evento uno (stringa) contiene il testo del pulsante.
  • Il parametro evento due (intero) contiene l'ID del pulsante.

$MsgCancel

Ricevuto da Casella di dialogo che contiene il comando.
Descrizione $MsgCancel viene ricevuto quando la casella di dialogo genera un evento di annullamento. Un evento di annullamento viene generato quando l'utente sceglie il pulsante Annulla o quando preme il tasto Esc.
Parametri di evento Esistono due parametri di evento:
  • $FieldId contiene l'ID del comando (intero).
  • $FieldName contiene il nome del comando (stringa).
Risposta L'azione di annullamento può essere interrotta restituendo zero dal gruppo degli eventi. Se l'azione non viene rifiutata, la casella di dialogo si chiude.

$MsgChar

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgChar viene ricevuto in una casella di dialogo quando l'utente immette un carattere in un comando che non può essere elaborato dal comando. I caratteri esatti inoltrati all'handler degli eventi variano a seconda del campo. In generale, Control, Alt e i tasti funzioni vengono ricevuti.
Parametri di evento Esistono tre parametri degli eventi:
  • $FieldId contiene l'ID comando (intero)
  • $FieldName contiene il nome del comando (stringa)
  • Il parametro evento tre (intero) contiene i caratteri che vengono inoltrati all'handler degli eventi
Risposta Il parametro $KeyCode non può essere utilizzato con le casella di dialogo. Il carattere viene inoltrato nel terzo parametro evento (intero).
Note Il valore del tasto F1 non viene inoltrato alla casella di dialogo. Al contrario, il tasto F1 crea un $MsgHelp o visualizza ogni testo di aiuto esistente.

$MsgCreate

Ricevuto da Ogni casella di dialogo in fase di creazione.
Descrizione $MsgCreate è uno dei primi messaggi che una casella di dialogo riceve quando viene creata.
Parametri di evento Esistono quattro parametri evento
  • Il primo parametro evento è sconosciuto nel messaggio $MsgCreate. Nella maggior parte degli altri messaggi delle caselle di dialogo, esso contiene normalmente l'ID del comando ($FieldId).
  • Il secondo parametro evento, $FieldName, contiene il nome (stringa) del comando selezionato, che generalmente è $Unknown poichè di solito nessun comando viene selezionato in questo punto.
  • Il parametro evento tre ($FormFile) contiene il nome (stringa) del file modulo, compreso ogni nome modulo tra parentesi.
  • Il parametro evento quattro ($FormName) contiene il nome (stringa) del modulo specificato nel file della casella di dialogo.
Risposta Restituendo zero dal gruppo eventi si interrompe la creazione della casella di dialogo. Le istruzioni DlgCreate e DlgBox restituiscono un errore No Create.
Note Nel momento in cui si riceve $MsgCreate, la casella di dialogo non è stata ancora visualizzata. Tuttavia, si è già verificato quanto segue:
  • Il cursore è in posizione.
  • L'applicazione ha ricevuto un campo $MsgEnter per il primo comando nella casella di dialogo.
  • Tutti i comandi sono stati creati e inizializzati sui valori di default specificati nel file della casella di dialogo e sui valori iniziali inoltrati come dati di inizializzazione.
  • I dati di istanza sono stati creati e aggiornati per corrispondere ai valori comandi di default.

Consultare il messaggio $MsgInitialize per ulteriori informazioni.

$MsgDestroy

Ricevuto da Ogni casella di dialogo.
Descrizione Questo messaggio viene generato quando un $MsgClose viene inviato alla casella di dialogo. Il messaggio $MsgClose viene generato quando l'utente accetta o chiude la casella di dialogo.
Quando la casella di dialogo riceve $MsgDestroy, l'handle della finestra è ancora valido fino a quando il processo di eliminazione non termina. La casella di dialogo continua a ricevere messaggi fino a quando non ritorna dal messaggio $MsgDestroy.
Risposta Ogni risposta viene ignorata.
Note Questo messaggio viene ricevuto dalla casella di dialogo dopo che tutti i comandi e le finestre figlio sono stati eliminati.

$MsgEnterField

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgEnterField viene generato quando un utente immette un comando (premendo il tasto Tab o facendo clic col mouse su un comando diverso).
Questo viene ricevuto prima che il cursore si sposta su un nuovo comando. Il comando selezionato riceve il messaggio $MsgExitField.
Parametri di evento Esistono due parametri di evento:
  • $FieldId contiene l'ID comando (intero)
  • $FieldName contiene il nome del comando (stringa)
Risposta Per evitare che il cursore si sposti su un nuovo comando, restituire zero dal gruppo eventi durante l'elaborazione di questo messaggio.
Note Se l'esecuzione di un nuovo comando viene rifiutata, il cursore ritorna nel campo dal quale l'utente era uscito. Questo provoca la creazione di un altro messaggio $MsgEnterField quando il cursore cambia.
Se anche quel comando non viene rifiutato, l'evento viene annullato e il cursore non corrisponde a nessun comando.

$MsgExitField

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgExitField viene generato uscendo da un comando (premendo il tasto Tab o facendo clic con il mouse su un comando differente). Questo messaggio viene ricevuto prima che il cursore lasci il comando.
Parametri di evento Esistono due parametri di evento:
  • $FieldId contiene l'ID comando (intero)
  • $FieldName contiene il nome del comando (stringa)
Risposta Per evitare che il cursore si sposti, restituire zero da un gruppo eventi durante l'elaborazione di questo messaggio.

$MsgFocus

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgFocus viene generato quando una casella di dialogo perde lo stato attivo della tastiera.
Parametri di evento $EventParm (1, booleano) identifica se la casella di dialogo sta perdendo lo stato attivo.

$MsgHelp

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgHelp viene generato quando l'utente seleziona il pulsante Aiuto e il sistema non riesce a trovare l'aiuto per la casella di dialogo o per il comando.
Parametri di evento Esistono due parametri di evento:
  • $FieldId contiene l'ID comando (intero)
  • $FieldName contiene il nome del comando (stringa)

$MsgInitialize

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgInitialize è una versione speciale di $MsgSelect che si verifica solo durante la fase di creazione di una casella di dialogo.
$MsgInitialize consente di eseguire un'elaborazione speciale sui valori dei comandi della casella di dialogo durante la creazione. Dopo la creazione, tutti gli eventi per un comando di una casella di dialogo vengono ricevuti come messaggi $MsgSelect.
Parametri di evento Il messaggio $MsgInitialize ha quattro parametri evento, come ad esempio $MsgSelect:
  • $FieldId contiene l'ID (intero) del comando il cui valore è stato modificato
  • $FieldName contiene il nome (stringa) del comando il cui valore è stato modificato
  • Il parametro evento tre (stringa) contiene il vecchio valore dei dati di istanza
  • Il parametro evento quattro (stringa) contiene il nuovo valore del comando

$MsgLabel

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgLabel viene generato quando l'utente seleziona un pulsante di tipo LABEL in una finestra del programma di visualizzazione ipertesto.
Parametri di evento Il messaggio $MsgLabel ha due parametri evento:
  • Il parametro evento uno (stringa) contiene il testo del pulsante
  • Il parametro evento due (stringa) contiene l'etichetta del pulsante

$MsgListboxAccept

Ricevuto da Ogni casella di dialogo
Descrizione $MsgListboxAccept documenta la voce sulla quale si è fatto doppio clic in una casella di elenco.
Parametri di evento Esistono tre parametri degli eventi:
  • $FieldId contiene l'ID (intero) del comando della casella di elenco
  • $FieldName contiene il nome (stringa) del comando della casella di elenco
  • Il parametro evento tre (stringa) contiene la casella di elenco e un intero per la tabella
Risposta Uscendo da questo messaggio si evita $MsgAccept

$MsgMandField

Ricevuto da Ogni casella di dialogo
Descrizione $MsgMandField viene ricevuto quando un'azione di accettazione viene ricevuta dalla casella di dialogo e quando un campo obbligatorio non ha un valore.
Parametri di evento Esistono due parametri di evento:
  • $FieldId contiene l'ID (intero) del comando dove il cursore stava per spostarsi
  • $FieldName contiene il nome (stringa) del comando selezionato il cui valore è stato modificato
Risposta Se FALSE viene restituito, il sistema non riesce ad elaborare il messaggio.
Se questo messaggio non viene elaborato o il gruppo eventi restituisce il valore di default (1), il sistema visualizza una casella di messaggi che informa l'utente della mancanza di un valore obbligatorio e dell'annullamento dell'azione accettazione.
Quando l'utente chiude la casella dei messaggi, il cursore viene spostato nel primo comando obbligatorio vuoto nella casella di dialogo. I messaggi $MsgExitField, $MsgSelect e $MsgEnterField possono essere generati dallo spostamento. L'azione di accettazione viene interrotta.
Se il gruppo eventi restituisce un valore diverso da 1, il sistema non intraprende nessuna azione. L'applicazione deve posizionare il cursore e rifiutare $MsgAccept.

$MsgMenu

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgMenu viene ricevuto quando l'utente effettua una selezione da una barra dei menu o da una barra degli strumenti nella casella di dialogo.
Parametri di evento Lo pseudo parametro, $MenuSelection, contiene l'indice della voce di menu selezionata. Una selezione dalla barra degli strumenti genera un valore compreso tra 1 e 99, a seconda della posizione dell'icona. Una selezione falla barra dei menu genera un valore in base alla formula:
n * 100 + m

dove n è la posizione della selezione attiva nella barra dei menu principale e m è la posizione della selezione nel sottomenu.

Note Non esiste un ID o nome comando corrente associato a questo messaggio. Inoltre, nelle versioni precedenti era possibile simulare una selezione dei menu; al momento questa funzione non è più supportata.

$MsgPaintStatus

La posizione del testo corrente per la barra di stato è reimpostata su 1,1 ogni volta che viene generato un messaggio $MsgPaintStatus.

$MsgPageChange

Ricevuto da Ogni casella di dialogo che contiene un blocco appunti.
Descrizione Il messaggio $MsgPageChange viene ricevuto dall'handler degli eventi del blocco appunti quando il blocco appunti viene creato (impostazione della pagina iniziale), e ogni volta che la pagina corrente viene modificata. I parametri dell'evento specificano la vecchia pagina e quella nuova.
Parametri di evento Esistono due parametri di evento:
  • Il primo parametro evento specifica il nome della pagina corrente prima che si verificasse il cambiamento della pagina
  • Il secondo parametro evento specifica il nome della pagina corrente attuale (la nuova pagina)
Note Questo messaggio viene inoltre ricevuto quando viene visualizzato per primo un blocco appunti (dopo $MsgCreate). In questo caso, il primo parametro viene impostato su $Unknown, e il secondo parametro è il nome della pagina iniziale.

$MsgPageChangeRequest

Ricevuto da Ogni casella di dialogo che contiene un blocco appunti.
Descrizione Il messaggio $MsgPageChangeRequest viene consegnato prima che la pagina venga modificata. (Uscire con zero impedisce la modifica della pagina.) I parametri dell'evento specificano la vecchia pagina e quella nuova.
Parametri di evento Esistono due parametri di evento:
  • Il parametro evento uno specifica il nome della pagina corrente prima che si verificasse il cambiamento della pagina
  • Il parametro evento due specifica il nome della pagina corrente attuale (la nuova pagina)

$MsgSelect

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgSelect viene ricevuto a ogni modifica di un valore di un controllo.
Alla ricezione di questo messaggio, i dati d'istanza vengono aggiornati per riflettere il nuovo valore del controllo.
Durante l'elaborazione di $MsgSelect, il valore reale del controllo non può essere stabilito. Ciò si verifica perché, in Windows, i dati d'istanza vengono aggiornati con il valore reale del campo prima di chiamare $MsgSelect. In OS/2, i dati d'istanza vengono aggiornati con il valore reale del campo dopo aver chiamato $MsgSelect.
Parametri di evento Il messaggio $MsgSelect ha quattro parametri evento:
  • $FieldId contiene l'ID (intero) del controllo il cui valore è stato modificato.
  • $FieldName contiene il nome (stringa) del controllo il cui valore è stato modificato.
  • Il parametro evento tre (oldValue) contiene il vecchio valore (stringa) dei dati d'istanza. Ciò non è valido per i pulsanti. Consultare le Note per questo messaggio.
  • Il parametro evento quattro (newValue) contiene il nuovo valore del campo (stringa). Ciò non è valido per i pulsanti. Consultare le Note per questo messaggio.
Risposta Restituisce il valore 1 per conservare il nuovo valore. I messaggi risultanti sono $MsgExitField e $MsgEnterField.
Note E' possibile creare un messaggio $MsgSelect in vari modi:
  • I pulsanti opzione, le caselle di controllo, i pulsanti, le caselle di elenco, i controlli delle tabelle e i dispositivi di scorrimento creano $MsgSelect tutte le volte in cui il loro valore viene modificato dall'utente o da un'operazione di serie.
  • Le caselle di testo creano $MsgSelect quando il controllo viene chiuso, purché l'utente abbia modificato il valore nel controllo.
  • Le caselle combinate creano $MsgSelect nello stesso modo delle caselle di elenco o di testo, secondo la parte del controllo con cui interagisce l'utente. Le caselle combinate creano $MsgSelect la prima volta in cui viene modificato un valore e quando il cursore lascia il controllo, se la parte modificata del controllo viene modificata.
  • I pulsanti creano $MsgSelect ogni qualvolta l'utente li seleziona. Tuttavia, non vi sono valori nei parametri di evento tre o quattro.

I tipi di dati del valore contenuti nel parametro di evento tre si basano sui dati d'istanza a esso collegati. Se non è collegato alcun ID, i dati sono $Unknown.
I tipi di dati del valore contenuti nel parametro di evento quattro si basano sul tipo di controllo. Ad esempio, se il controllo è un pulsante opzione, il valore è un intero. Se il controllo è una casella di testo, il valore è una stringa.


$MsgTimer

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgTimer viene ricevuto in risposta ad un evento timer.
Parametri di evento Il parametro evento (intero) contiene l'ID del timer come inoltrato attraverso $MsgStartTimer.
Note Una finestra deve avere un timer impostato per poter ricevere $MsgTimer.

MsgUser+n

Ricevuto da Ogni casella di dialogo che ha un handler degli eventi.
Descrizione Questa è una costante dei messaggi definita dall'utente.
Parametri di evento Ogni parametro di evento può essere inoltrato con un messaggio definito dall'utente. Se i parametri aggiuntivi possono essere assegnati nell'istruzione SendMessage, essi possono essere assegnati nell'handler degli eventi.
La finestra di ricezione deve conoscere i parametri validi per il messaggio.
Note Tutti i messaggi definiti dall'utente hanno un valore $MsgUser+n dove n è un qualsiasi numero scelto dall'utente da assegnare alla nuova costante dei messaggi.

Messaggi ricevibili delle finestre

Questa sezione tratta i messaggi ricevibili per le finestre.

Nella Tabella dei messaggi ricevibili, le voci elencate nella colonna $Event rappresentano le costanti dei messaggi.

Le voci elencate nella colonna Origine rappresentano il tipo di componente dell'applicazione (casella di dialogo o finestra) che ha inviato il messaggio.

La voce in questa colonna determina la classificazione del messaggio. Ad esempio, il messaggio $MsgCreate ha l'origine, la casella di dialogo ed è quindi un messaggio ricevibile della casella di dialogo. Ulteriori informazioni su questo messaggio sono disponibili in "Messaggi ricevibili della casella di dialogo."

Alcune voci elencate nella colonna Origine vengono abbreviate. Ad esempio:

La colonna Parametri elenca i parametri di evento definiti per la costante dei messaggi. I valori dei sinonimi iniziano con $. (Per ulteriori informazioni, consultare "Sinonimi finestra".)

Tabella dei messaggi ricevibili (solo messaggi delle finestre)

$Event Origine Parametri
$MsgActivate Finestra generica, finestra a scorrimento 1=stato di attivazione
$MsgButton Casella di dialogo, finestra ipertesto 1=testo del pulsante, 2=ID del pulsante
$MsgChar Ogni finestra $KeyCode
$MsgCreate Ogni finestra Applicare solo alle caselle di dialogo
$MsgDestroy Ogni finestra Nessuno
$MsgImage Finestra padre dell'immagine 1=ID immagine
$MsgLabel Casella di dialogo, finestra ipertesto 1=testo pulsante, 2=etichetta pulsante
$MsgMouse Area mouse 1=ID, 2=attività mouse, 3=X, 4=Y
$MsgMenu Barra dei menu

Barra degli strumenti

$MenuSelection (n*100 + m)

$MenuSelection (1-99)

$MsgPaint Generica Nessuno
$MsgPaintStatus Ogni finestra o casella di dialogo con una barra di stato Nessuno
$MsgScroll Finestra generica 2=ubicazione miniatura, 1=$WinHScroll / $WinVScroll
$MsgSize Finestra generica, a scorrimento 1=larghezza della finestra, 2=altezza della finestra
$MsgTimer Tutti 1=ID timer
$MsgUser+n Tutti I dettagli appartengono al mittente e al destinatario

Sinonimi delle finestre

I sinonimi che appaiono nella Tabella dei messaggi ricevibili (Solo messaggi delle finestre) vengono di seguito spiegati con i rispettivi messaggi. Per informazioni generali sull'utilizzo dei sinonimi, consultare "Parametri messaggi e sinonimi."

Descrizioni dei Messaggi ricevibili delle finestre

$MsgActivate

Ricevuto da Finestra o finestra a scorrimento.
Descrizione $MsgActivate viene ricevuto quando una finestra o una finestra a scorrimento viene attivata o disattivata.
Parametri di evento Esiste un parametro evento:
  • Se la finestra è attivata, questo parametro equivale a 1
  • Se la finestra è disattivata, questo parametro equivale a 0
Risposta Se la finestra è attivata, riceve lo stato attivo.
Se la finestra è disattivata, lo stato attivo passa alla finestra che diviene attiva.
Il colore della finestra può variare per indicare l'attivazione o la disattivazione, a seconda della configurazione di sistema.

$MsgButton

Ricevuto da Una finestra del programma di visualizzazione ipertesto.
Descrizione $MsgButton viene ricevuto quando si seleziona un pulsante di tipo ID (il tipo di default) in una finestra del programma di visualizzazione di ipertesto.
Nota: un pulsante in un programma di visualizzazione ipertesto rappresenta un collegamento con un'altra entità (come ad esempio un altro file, un altro punto nel file esistente, un'immagine, un file sonoro o un file eseguibile).
Parametri di evento Esistono due parametri di evento:
  • Il parametro evento uno (stringa) contiene il testo del pulsante.
  • Il parametro evento due (intero) contiene l'ID del pulsante. Se nessun ID è stato specificato , il default è 0.
Risposta Se l'ID pulsante è 0 e l'handler degli eventi restituisce 0, la finestra del programma di visualizzazione ipertesto modifica il testo del pulsante e inquiry il file attivo per una corrispondenza. In caso si rilevasse una corrispondenza, il file viene sfogliato in modo che la riga corrispondente si trovi nella parte superiore del programma di visualizzazione.

$MsgChar

Ricevuto da Ogni casella di dialogo.
Descrizione $MsgChar viene ricevuto ogni volta che l'utente immette un carattere dalla tastiera che la finestra attiva non elabora.
Parametri di evento Il parametro $KeyCode può essere utilizzato per accedere al carattere. Il carattere può essere un carattere stampabile o uno delle definizioni $Key standard. (Consultare $KeyCode per un elenco completo dei codici dei tasti disponibili.)

$MsgCreate

Ricevuto da Ogni finestra o casella di dialogo.
Descrizione Questo messaggio viene ricevuto dopo che i comandi di una finestra o di una casella di dialogo sono stati inizializzati. Una volta ricevuto questo messaggio, la finestra o la casella di dialogo vengono aggiornate.

$MsgDestroy

Ricevuto da Ogni finestra.
Descrizione $MsgDestroy è l'ultimo messaggio ricevuto da una finestra prima di essere eliminato (a meno che la finestra non venga eliminata in quanto parte della terminazione dell'applicazione).
Note Quando si riceve il messaggio $MsgDestroy, tutte le finestre figlio possono ancora esistere a meno che non siano state esplicitamente eliminate.

$MsgImage

Ricevuto da Ogni finestra immagine.
Descrizione $MsgImage viene inviato da una finestra immagine per informare la finestra padre che l'utente ha fatto clic sull'immagine con il mouse.
Parametri di evento Il parametro evento (intero) ha l'ID dell'immagine selezionata.

$MsgLabel

Ricevuto da Una finestra del programma di visualizzazione ipertesto.
Descrizione $MsgLabel viene ricevuto quando un pulsante di tipo LABEL viene selezionato in una finestra del programma di visualizzazione ipertesto.
Parametri di evento Esistono due parametri di evento:
  • Il parametro evento uno (stringa) contiene il testo del pulsante
  • Il parametro evento due (stringa) contiene l'etichetta del pulsante

$MsgMenu

Ricevuto da Ogni casella di dialogo con una barra dei menu o una barra degli strumenti.
Descrizione $MsgMenu viene ricevuto quando si effettua una selezione da una barra dei menu o da una barra degli strumenti.
Parametri di evento $MenuSelection contiene l'ID della voce del menu selezionata.
Note L'ID della voce del menu selezionata può essere inviato ad ogni finestra che ha una barra dei menu. Simula l'azione di un utente che seleziona una voce dei menu con l'indice contenuto nel parametro MenuSelection.
Una selezione dalla barra degli strumenti genera un valore compreso tra 1 e 99, a seconda della posizione dell'icona nella barra degli strumenti.
Una selezione dalla barra dei menu genera un valore in base alla formula:
n * 100 + m

dove n è la posizione della selezione attiva nella barra dei menu principale e m è la posizione della selezione nel sottomenu.
Per ulteriori informazioni consultare WinSetMenuBar.

$MsgMouse

Ricevuto da Ogni finestra.
Descrizione $MsgMouse viene ricevuto quando si presenta un'attività del mouse in un'area mouse definita dall'istruzione
WinCreateMouseRect.
Parametri di evento $MsgMouse dispone dei seguenti parametri di evento:
  • Il primo parametro di evento (intero) contiene l'ID inoltrato a WinCreateMouseRect
  • Il secondo parametro evento (intero) contiene il tipo di attività mouse (consultare l'elenco delle attività mouse, di seguito).
  • Il terzo parametro di evento (intero) contiene l'ubicazione X del mouse.
  • Il quarto parametro di evento (intero) contiene l'ubicazione Y del mouse.
Note WinSetMousePointer deve essere richiamato ogni volta che $MsgMouse viene elaborato.

Le attività del mouse definite comprendono:

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

Per ulteriori informazioni, consultare WinCreateMouseRect.

$MsgPaint

Ricevuto da Ogni finestra generica.
Descrizione $MsgPaint viene ricevuto quando tutta la finestra, o parte di essa, deve essere riaggiornata.

$MsgScroll

Ricevuto da Ogni finestra.
Descrizione $MsgScroll viene ricevuto quando l'utente sposta la casella a scorrimento sulla barra di scorrimento verticale o orizzontale.
Parametri di evento Esistono due parametri di evento:
  • Il primo parametro di evento (intero) contiene la barra di scorrimento che genera il messaggio. E' $WinHScroll (orizzontale) o $WinVScroll (verticale).
  • Il secondo parametro di evento (intero) contiene l'ubicazione della barra di scorrimento. Questo valore viene espresso nelle unità specificate dall'applicazione nell'istruzione della barra WinSetScroll.

$MsgSize

Ricevuto da Ogni finestra o finestra generica con una barra di scorrimento.
Descrizione Questo imposta la dimensione della finestra.

$MsgTimer

Ricevuto da Ogni finestra.
Descrizione $MsgTimer viene ricevuto in risposta ad un evento timer.
Parametri di evento Il parametro di evento (intero) contiene l'ID del timer appena inoltrato in $MsgStartTimer.
Note Una finestra deve avere un timer impostato per ricevere un $MsgTimer.

$MsgUser+n

Ricevuto da Ogni finestra con una funzione evento.
Descrizione Questa è una costante dei messaggi definita dall'utente.
Parametri di evento Ogni parametro di evento può essere inoltrato con un messaggio definito dall'utente. Se i parametri aggiuntivi possono essere assegnati nell'istruzione SendMessage, essi possono essere assegnati nella funzione evento.
Note Tutti i messaggi definiti dall'utente devono avere un valore

$MsgUser+n

dove n è un qualsiasi numero scelto dall'utente e assegnato alla nuova costante dei messaggi.

Messaggi ricevibili DDE

Questa sezione tratta i messaggi che possono essere ricevuti da un handler degli eventi definito per una casella di dialogo o applicazione attiva in un'applicazione DDE.

Le voci elencate nella colonna $Event rappresentano le costanti dei messaggi.

Le voci elencate nella colonna Origine rappresentano il tipo di componente dell'applicazione (casella di dialogo o finestra) che ha inviato il messaggio.

La voce in questa colonna determina la classificazione del messaggio. Ad esempio, il messaggio, $MsgCreate ha l'origine, la casella di dialogo ed è perciò un messaggio ricevibile della casella di dialogo. Ulteriori informazioni su questo messaggio sono disponibili in "Messaggi ricevibili della casella di dialogo."

Nella colonna Origine, il termine Tutte rappresenta ogni voce della finestra o della casella di dialogo in ogni applicazione attiva.

La colonna Parametri elenca i parametri di evento definiti per la costante dei messaggi. I valori dei sinonimi iniziano con $. Per ulteriori informazioni, consultare "Sinonimi DDE".

La seguente tabella elenca i messaggi che possono essere ricevuti da un handler degli eventi definito per una casella di dialogo o un'applicazione attiva in un'applicazione DDE.

Tabella dei messaggi ricevibili (Solo messaggi DDE)

$Event Origine Parametri
$MsgDDEAcknowledge Tutti $DDEWindow, $DDEStatus
$MsgDDEAdvise Tutti $DDEWindow, $DDETopic
$MsgDDEData Tutti $DDEWindow, $DDETopic, $DDEData
$MsgDDEExecute Tutti $DDEWindow, $DDETopic, $DDEData
$MsgDDEInitAcknowledge Tutti $DDEWindow, $DDETopic, $DDEData
$MsgDDEInitiate Tutti $DDEWindow, $DDETopic, $DDEData
$MsgDDEPoke Tutti $DDEWindow, $DDETopic, $DDEData
$MsgDDERequest Tutti $DDEWindow, $DDETopic
$MsgDDETerminate Tutti $DDEWindow
$MsgDDEUnAdvise Tutti $DDEWindow, $DDETopic



Suggerimento: Ogni volta che si riceve un messaggio DDE, è necessario restituire un messaggio $MsgDDEAcknowledge. La mancata restituzione di $MsgDDEAcknowledge può provocare una perdita della memoria.

Suggerimento: Se si desidera inviare una conferma della ricezione del messaggio $MsgDDExxx, EXIT semplicemente ($DDEAck). Se si desidera inviare un messaggio di mancata ricezione, EXIT(0).

Sinonimi DDE

E' disponibile un gruppo di sinonimi speciale per i messaggi DDE. I sinonimi sono:

Quando si utilizzano questi indicatori, analizzarli con l'istruzione BitAnd. Per ulteriori informazioni, consultare BitAnd.

Definizioni DDE

La seguente tabella mostra termini che vengono utilizzati per descrivere i messaggi inoltrati tra le applicazioni DDE.

Termine Definizione
Conversazione Lo scambio di informazioni tra due applicazioni in una sessione DDE.
Partner Un membro di una conversazione DDE.
Client Il partner che richiede le informazioni da un'altra applicazione nella conversazione.
Server Il partner che fornisce le informazioni richieste al partner DDE client.
Coppia Applicazione/Argomento Se l'utente è un client DDE, queste sono le informazioni inoltrate al server DDE dell'utente per stabilire un collegamento per le comunicazioni con esso.
Alternativamente, se l'utente è un server DDE, questa è la combinazione dell'applicazione e dell'argomento(i) offerti.

Descrizione dei messaggi ricevibili DDE

$MsgDDEAcknowledge

Ricevuto da Partner DDE (client o server).
Descrizione Questo messaggio informa il partner DDE dell'esito positivo o negativo di un'azione richiesta. $MsgDDEAcknowledge deve essere inviato in risposta ad ognuno dei seguenti messaggi:
  • DDEAdvise
  • DDEData
  • DDEExecute
  • DDEPoke
  • DDERequest
  • DDEUnAdvise
Parametri di evento
(Windows)
I seguenti parametri evento vengono utilizzati con l'istruzione DDEExecute in Windows.
  • $DDETopic - l'argomento trattato con la conversazione DDE corrente, oppure $Unknown come risposta generica.
  • $DDEData - il comando eseguito.
  • $DDEStatus - Consultare "Sinonimi DDE" per l'elenco dei codici di stato.

I seguenti parametri evento vengono utilizzati con tutti gli altri messaggi DDE in Windows.

  • $DDETopic - Argomento o voce
  • $DDEData - $Unknown
  • $DDEStatus - Consultare "Sinonimi DDE" per l'elenco dei codici di stato validi
Parametri evento (OS/2) I seguenti parametri evento vengono utilizzati con $DDEExecute in OS/2.
  • $DDETopic - $Unknown
  • $DDEData - Stringa di lunghezza nulla
  • $DDEStatus - Consultare "Sinonimi DDE" per l'elenco dei codici di stato validi

I seguenti parametri evento vengono utilizzati con tutti gli altri messaggi DDE in OS/2.

  • $DDETopic - Argomento o voce
  • $DDEData - Stringa di lunghezza nulla
  • $DDEStatus - Consultare "Sinonimi DDE" per l'elenco dei codici di stato validi
Note Se $DDEData è il messaggio ricevuto, questo può essere inviato in sostituzione ai dati dei messaggi correnti.

$MsgDDEAdvise

Ricevuto da Ogni server DDE.
Descrizione Richiede continui aggiornamenti sull'argomento contenuto in $DDETopic. Questo è un messaggio di solo testo.
Parametri evento (Windows) I seguenti parametri evento vengono utilizzati con Windows.
  • $DDETopic - Argomento o voce sui quali essere informati
  • $DDEData - $Unknown
  • $DDEStatus - Consultare "Sinonimi DDE" per l'elenco dei codici di stato validi
Parametri evento (OS/2) I seguenti parametri evento vengono utilizzati con OS/2.
  • $DDETopic - Argomento o voce
  • $DDEData - $Unknown
  • $DDEStatus - Consultare "Sinonimi DDE" per l'elenco dei codici di stato validi
Risposta L'applicazione deve eseguire un DDEData ogni volta che i dati vengono modificati.

$MsgDDEData

Ricevuto da Ogni client DDE.
Descrizione Questo messaggio viene inviato in due casi:
  • In risposta ad messaggio DDERequest
  • Quando si verificano modifiche dei dati dell'argomento o voce sui quali il client ha richiesto di essere informato.
Parametri di evento Esistono diversi parametri evento:
  • $DDETopic contiene l'argomento o le voci
  • $DDEData contiene il valore dei dati
  • solo OS/2: $DDEStatus
Valore Exit $DDEAck viene restituito se i dati sono stati utilizzati. Ad esempio:
EXIT ($DDEAck)
Note Se i dati vengono inviati in risposta ad un DDEAdvise, l'indicatore $DDEStatus può essere impostato su $DDENoData. In questo caso, l'applicazione emette un DDERequest per richiamare i dati correnti.

$MsgDDEExecute

Ricevuto da Ogni server DDE.
Descrizione Questo messaggio viene inviato per indicare al server di intraprendere delle azioni.
Parametri evento (Windows) I seguenti parametri evento vengono utilizzati in Windows.
  • $DDETopic - $Unknown
  • $DDEData - Comando da eseguire
Parametri evento (OS/2) I seguenti parametri evento vengono utilizzati con OS/2.
  • $DDETopic - Argomento o voce
  • $DDEData - Stringa comandi da eseguire
  • $DDEStatus - Consultare "Sinonimi DDE" per l'elenco dei codici di stato validi
Valore Exit $DDEAck deve essere inviato se un comando è stato completato.
Note E' responsabilità dei partner definire le stringe comandi.

$MsgDDEInitAcknowledge

Ricevuto da Ogni server DDE.
Descrizione $MsgDDEInitAcknowledge viene ricevuto in risposta ad una funzione DDEInitiate. Ogni applicazione che corrisponde alla coppia di argomenti o applicazione che viene inoltrata a DDEInitiate invia $MsgDDEInitAcknowledge con le seguenti voci:
  • Il proprio handle della finestra DDE ($DDEWindow)
  • Coppia applicazione/argomento corrispondente ($DDEData)
  • Argomento della conversazione ($DDETopic).
Parametri di evento Esistono due parametri di evento:
  • $DDETopic contiene l'argomento richiesto
  • $DDEData contiene l'applicazione che risponde alla richiesta
Note Un messaggio $MsgDDEInitAcknowledge viene inviato per ogni coppia di argomenti o applicazioni corrispondenti. Ad esempio, se la stringa di argomento deve essere vuota, il server invia $MsgDDEInitAcknowledge per ogni argomento supportato.

$MsgDDEInitiate

Ricevuto da Ogni potenziale applicazione server DDE.
Descrizione $MsgDDEInitiate viene ricevuto quando un'applicazione richiede che l'applicazione ricevente sia un server DDE. L'applicazione ricevente deve controllare il nome dell'applicazione in $DDEData per determinare se esso è il destinatario desiderato.
Se l'applicazione è il destinatario desiderato, è necessario controllare il valore $DDETopic per determinare se può soddisfare la richiesta. Le stringhe di lunghezza nulla in $DDEData e $DDETopic vengono accettate come corrispondente per ogni applicazione e argomento.
Parametri di evento Esistono due parametri di evento:
  • $DDETopic contiene l'argomento. Se questo è $Unknown o una stringa vuota (''), il client richiede di rispondere se l'utente può sostenere una conversazione sull'argomento.
  • $DDEData contiene l'applicazione con la quale il client richiede una conversazione. Se questo è $Unknown o una stringa vuota (''), il client richiede di rispondere se l'utente può sostenere una conversazione sull'argomento.
Risposta Richiamare DDERespond. Inoltrare ogni nome di applicazione e di argomento come necessario.
Note Non utilizzare DlgBox, WinMessageBox o WinWait durante l'elaborazione di un messaggio $MsgDDEInitiate.
$MsgDDEInitiate invia un messaggio alle applicazioni e blocca la coda messaggio fino a quando non viene restituita una risposta. Intanto, ognuna di queste istruzioni avviano un handler degli eventi che è in attesa di una risposta dalla coda messaggi.
Queste istruzioni impediscono alle altre applicazioni di inviare i messaggi alla coda messaggi. Questo provoca uno stallo, il quale blocca l'interfaccia utente.

$MsgDDEPoke

Ricevuto da Ogni server DDE.
Descrizione Questa contiene dati non richiesti (dati che non vengono inviati in risposta ad un messaggio di richiesta o di avviso).
Parametri di evento Esistono diversi parametri evento:
  • $DDETopic contiene l'argomento o la voce interessati
  • $DDEData contiene il valore dei dati
  • solo OS/2: $DDEStatus
Risposta L'applicazione del destinatario deve inviare un messaggio informativo ($DDEAck) se i dati sono stati utilizzati o elaborati.

$MsgDDERequest

Ricevuto da Ogni server DDE.
Descrizione Questa è una richiesta di dati su un argomento.
Parametri di evento Esistono due parametri di evento:
  • $DDETopic contiene l'argomento o la voce richiesta
  • $DDEData contiene $Unknown
Risposta Richiamare DDEData. Inoltrare le informazioni richieste.
Valore Exit Exit con $DDEAck se i dati vengono restituiti.

$MsgDDETerminate

Ricevuto da Partner DDE (client o server).
Descrizione Termina la conversazione. I partner possono inviare $MsgDDETerminate in qualsiasi momento.
Parametri di evento Consultare l'argomento "Sinonimi DDE" per un elenco di indicatori di stato validi.
Risposta Se DDETerminate è stato richiamato, non è necessario dare una risposta. Se DDETerminate non è stato richiamato, è necessario richiamarlo.

$MsgDDEUnAdvise

Ricevuto da Ogni server DDE.
Descrizione Questo annulla una richiesta di avviso per una determinata coppia di argomenti o client.Questo è un messaggio di solo testo.
Parametri evento (Windows) I seguenti parametri evento vengono utilizzati in Windows:
  • $DDETopic - Argomento per cui arrestare gli avvisi
  • $DDEData - $Unknown
Parametri evento (OS/2) I seguenti parametri evento vengono utilizzati con OS/2:
  • $DDETopic - Argomento per cui arrestare gli avvisi
  • $DDEData - Stringa di lunghezza nulla
Note Se la stringa dell'argomento è vuota, tutti gli avvisi per il client devono essere annullati.

Messaggi trasmissibili

Questa sezione tratta i seguenti argomenti:

I programmi TSD Script possono trasmettere i messaggi ad altre parti dell'applicazione o al sistema di finestre. Ogni finestra o casella di dialogo può inviare o spedire, rispettivamente, ogni messaggio trasmissibile.

La tabella dei messaggi trasmissibili elenca i messaggi di evento che possono essere inviati o spediti agli handle delle finestre.

Le voci elencate nella colonna $Event rappresentano le costanti dei messaggi.

Le voci elencate nella colonna Destinatario rappresentano il tipo di componente dell'applicazione (casella di dialogo o finestra) che riceve il messaggio.

Alcune voci elencate nella colonna Destinatario vengono abbreviate. Ad esempio:

La colonna Spedisci/Invia indica se il messaggio viene inviato con l'istruzione PostMessage o SendMessage, o con entrambe. Se viene inviata una voce, ciò viene descritto in modo più dettagliato nell'argomento "Messaggi inviati." Se il messaggio viene spedito, ciò viene descritto in modo più dettagliato in "Messaggi spediti."

La colonna Parametri contiene i parametri per i messaggi.

Suggerimento: L'ordine dei parametri è significativo in quanto i parametri devono essere utilizzati nella sequenza in cui vengono elencati.

La seguente tabella elenca i messaggi evento che possono essere inviati (con un'istruzione SendMessage) o spediti (con un'istruzione PostMessage) agli handle delle finestre.

Tabella dei messaggi trasmissibili

$Event Destinatario Invia/Spedisci Parametri
$MsgActivate Ogni finestra con una frame I, S nessuno
$MsgChar Ogni casella di dialogo I, S 1=ID campo, 2=nome campo, 3=codice tasto
$MsgClockSet Finestra orologio I Ora
$MsgClose Tutti I Nessuno
$MsgDisplayImage Finestra programma di visualizzazione ipertesto I, S 1=nome file, 2=titolo, 3=stile
$MsgEnable Tutti I, S enableState
$MsgMaximize Ogni casella di dialogo o finestra con una frame I nessuno
$MsgMenu Ogni finestra o casella di dialogo con una barra dei menu I, S menuSelection, 2=stringa
$MsgMinimize Ogni finestra o casella di dialogo con una frame I nessuno
$MsgMove Ogni finestra o casella di dialogo con una frame I 1=x, 2=y
$MsgOpenFile Finestra programma di visualizzazione ipertesto I, S 1=nome file, 2=titolo, 3=stile
$MsgPaint Tutti I, S nessuno
$MsgPaintStatus Ogni finestra o casella di dialogo con una barra di stato S nessuno
$MsgPlaySound Finestra programma di visualizzazione ipertesto I, S 1=nome file, 2=titolo, 3=stile
$MsgReadOnly Casella di dialogo I writeState
$MsgRestore Ogni finestra o casella di dialogo con una frame I nessuno
$MsgSearch Finestra programma di visualizzazione ipertesto I, S searchText
$MsgSetIcon Finestra I iconFile
$MsgSetImage Finestra immagine
Casella di dialogo, finestra a scorrimento
S
I
imageFile
ID finestra
$MsgSetSize Ogni finestra o casella di dialogo con una frame I 1=larghezza, 2=altezza
$MsgSetTitle Ogni finestra o casella di dialogo con una frame I titolo
$MsgShow Tutti I visibilityState
$MsgSize Finestra generica, a scorrimento I 1=larghezza, 2=altezza
$MsgStartTimer Ogni finestra o casella di dialogo con un handler degli eventi I 1=ID timer, 2=intervallo
Importante: L'intervallo non può superare 65535.
$MsgStopTimer Ogni finestra o casella di dialogo con un handler degli eventi I ID timer
$MsgTimer Ogni casella di dialogo I, S ID timer
$MsgUpdate Finestra programma di visualizzazione ipertesto I, S nessuno
$MsgUser+n Tutti I, S I dettagli appartengono al mittente e al destinatario

La seguente tabella elenca gli stessi messaggi evento trasmissibili e descrive l'effetto di ogni messaggio.

Definizioni dei messaggi trasmissibili

Evento Descrizione
$MsgActivate Attiva la finestra di ricezione
$MsgClockSet Imposta un orologio su una nuova ora
$MsgClose Chiude la finestra
$MsgDisplayImage Crea un nuovo programma di visualizzazione delle immagini in una finestra del programma di visualizzazione ipertesto
$MsgEnable Abilita lo stato della finestra
$MsgMaximize Ingrandisce la finestra di destinazione
$MsgMenu Simula una selezione di una voce di menu da parte dell'utente
$MsgMinimize Riduce a icona la finestra di destinazione sul desktop
$MsgMove Sposta l'angolo superiore sinistro della finestra di destinazione
$MsgOpenFile Crea una nuova finestra del programma di visualizzazione ipertesto per visualizzare un file
$MsgPaint La finestra di destinazione viene aggiornata
$MsgPaintStatus La finestra di destinazione aggiorna la barra di stato
$MsgPlaySound Crea una finestra del programma di visualizzazione ipertesto per ascoltare un file audio
$MsgReadOnly Indica ad una casella di dialogo di impostare determinati pulsanti sulla sola lettura
$MsgRestore Fa sì che una destinazione ripristini le proprie dimensioni.
$MsgSearch Indica ad una finestra del programma di visualizzazione ipertesto di ricerca una riga e spostarla nella parte superiore della finestra del programma di visualizzazione ipertesto
$MsgSetIcon Imposta l'icona per la finestra quando viene minimizzata
$MsgSetImage Imposta l'immagine da visualizzare nelle finestre di immagini
$MsgSetSize Imposta le intere dimensioni della finestra
$MsgSetTitle Imposta il contenuto della barra dei titoli per una finestra
$MsgShow Imposta l'attributi di visibilità della finestra
$MsgSize Imposta le dimensioni dell'area di lavoro della finestra
$MsgStartTimer Avvia il timer per la finestra
$MsgStopTimer Arresta il timer
$MsgTimer Simula un messaggio del timer inviato alla finestra
$MsgUpdate Indica alla casella di dialogo di aggiornare i valori visualizzati nei comandi dai dati nel record di istanza.
Questo messaggio può essere inviato o spedito solo ad una casella di dialogo.
Questo messaggio costringe la casella di dialogo ad aggiornare i valori visualizzati nei comandi dai dati nei record di istanza.
Questo messaggio è un meccanismo utile per modificare più campi in una casella di dialogo con un solo comando (in contrapposizione a più chiamate della funzione DlgSetFieldValue). L'utente aggiorna il valore nel record e invia questo messaggio alla casella di dialogo.
$MsgUser+n Comunica ad una finestra un messaggio definito dal programma

Trasmissione dei messaggi: Spedizione e invio

Il TSD Script fornisce due routine incorporate per trasmettere i messaggi e i dati: SendMessage e PostMessage. La differenza principale tra l'invio e la spedizione di un messaggio consiste nel fatto che SendMessage attende fino a quando l'handler degli eventi richiamato non completa l'elaborazione del messaggio. PostMessage inserisce le informazioni in una coda eventi, che consente alla routine di spedizione di continuare senza dover attendere il completamento dei messaggi.

Alcuni tipi di messaggi non possono essere trasmessi a determinati tipi di finestre.

Quando si trasmette un messaggio, si utilizzano le istruzioni SendMessage o PostMessage, a seconda delle esigenze. La sintassi di queste istruzioni è fondamentalmente la stessa:

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

Per ulteriori informazioni consultare SendMessage o PostMessage.

Gli argomenti che seguono in Messaggi trasmissibili vengono organizzati da quelli che possono essere inviati (trasmessi con SendMessage) e da quelli che possono essere spediti (trasmessi con PostMessage).

Messaggi inviati

I seguenti messaggi possono essere inviati agli handle della finestra con l'istruzione SendMessage.

$MsgActivate

Inviato a Questo può essere inviato ad ogni finestra con una frame
Descrizione La finestra ricevente diviene la finestra attiva

$MsgClockSet

Inviato a Questo può essere inviato ad ogni finestra con un orologio
Descrizione Imposta un orologio su una nuova ora
Parametri di evento Il parametro evento (ora) contiene la nuova ora dell'orologio
Note Consultare WinCreateClock

$MsgClose

Inviato a Questo può essere inviato ad ogni finestra
Descrizione Chiude la finestra

$MsgDisplayImage

Inviato a Questo può essere inviato ad una finestra del programma di visualizzazione ipertesto
Descrizione Crea un nuovo programma di visualizzazione delle immagini e visualizza il file specificato
Parametri di evento Esistono tre parametri degli eventi:
Il primo parametro evento contiene il nome del file (stringa) che appare nella finestra del programma di visualizzazione ipertesto
Il secondo parametro evento contiene il titolo (stringa) che appare nella barra dei titoli
Il terzo parametro evento contiene lo stile compreso di ogni combinazione dei seguenti stili, uniti all'istruzione BitOr:
  • $HyperScrollImage - La finestra del programma di visualizzazione ipertesto ha una barra di scorrimento verticale.
  • $HyperScaleImage - L'immagine è ridotta in scala in modo che possa adattarsi alla finestra del programma di visualizzazione ipertesto.
  • $HyperNoWordWrap - Il testo nella finestra del programma di visualizzazione ipertesto non va a capo automaticamente.

$MsgEnable

Inviato a Questo può essere inviato ad ogni finestra.
Descrizione Imposta lo stato "abilitato" della finestra.
Parametri di evento Il parametro evento contiene TRUE o FALSE, e rappresenta lo stato abilitato della finestra.
  • TRUE indica che la finestra è abilitata
  • FALSE indica che la finestra è disabilitata

$MsgMaximize

Inviato a Questo può essere inviato ad ogni finestra con una frame
Descrizione Ingrandisce la finestra di ricezione in modo da riempire interamente lo schermo

$MsgMenu

Inviato a Questo può essere inviato ad ogni finestra con una barra dei menu
Descrizione Simula una selezione, da parte di un utente, dell'opzione di menu specificata
Parametri di evento Il parametro evento contiene il valore della voce di menu selezionata (intero). Questo valore viene calcolato utilizzando la formula
n * 100 + m

dove n è la posizione della selezione attiva nella barra dei menu principale e m è la posizione della selezione nel sottomenu.

Note Per ulteriori informazioni, consultare WinSetMenuBar.

$MsgMinimize

Inviato a Questo può essere inviato ad ogni finestra con una frame
Descrizione Riduce a icona la finestra di ricezione

$MsgMove

Inviato a Questo può essere inviato ad ogni finestra
Descrizione Sposta l'angolo superiore sinistro della frame della finestra nella posizione specificata
Parametri di evento Esistono due parametri di evento:
  • Il primo parametro evento contiene la nuova ubicazione X (intero) della finestra.
  • Il secondo parametro evento contiene la nuova ubicazione Y (intero) della finestra.

$MsgOpenFile

Inviato a Questo può essere inviato ad una finestra del programma di visualizzazione ipertesto
Descrizione Crea un nuovo programma di visualizzazione del file e visualizza il file specificato
Parametri di evento Esistono tre parametri degli eventi:
  • Il primo parametro evento contiene il nome file (stringa) del file da aprire.
  • Il secondo parametro evento contiene il titolo (stringa) che appare nel programma di visualizzazione del file.
  • Il terzo parametro evento contiene ogni combinazione dei seguenti stili, uniti all'istruzione BitOr:
    • $HyperScrollImage - La finestra del programma di visualizzazione ipertesto ha una barra di scorrimento verticale.
    • $HyperScaleImage - L'immagine è ridotta in scala in modo che possa adattarsi alla finestra del programma di visualizzazione ipertesto.
    • $HyperNoWordWrap - Il testo nella finestra del programma di visualizzazione ipertesto non va a capo automaticamente.

$MsgPlaySound

Inviato a Questo può essere inviato ad una finestra del programma di visualizzazione ipertesto.
Descrizione Crea un nuovo lettore audio ed esegue il file specificato.
Parametri di evento Esistono tre parametri degli eventi:
  • Il primo parametro evento contiene il nome file (stringa) del file audio da eseguire.
  • Il secondo parametro evento contiene il titolo (stringa) che appare nella finestra del programma di visualizzazione ipertesto.
  • Il terzo parametro evento contiene lo stile del programma di visualizzazione ipertesto (utilizzare il valore, 0).

$MsgReadOnly

Inviato a Questo può essere inviato ad una casella di dialogo TSD Script
Descrizione Questo imposta o elimina l'indicatore di sola lettura in una casella di dialogo
Parametri di evento Il parametro evento contiene TRUE o FALSE.
  • TRUE indica che la casella di dialogo è di sola lettura.
  • FALSE indica che la casella di dialogo è di lettura/scrittura.
Note Consultare DlgBox per ulteriori informazioni.

$MsgRestore

Inviato a Questo può essere inviato ad ogni finestra con una frame
Descrizione Ripristina le dimensioni della finestra di ricezione su quelle originali (prima di ridurla a icona o di ingrandirla)

$MsgSearch

Inviato a Questo può essere inviato ad una finestra del programma di visualizzazione ipertesto.
Descrizione Ricerca la finestra del programma di visualizzazione sub-ipertesto attiva per il testo specificato. In caso si rilevasse una corrispondenza, la riga con la corrispondenza viene posizionata nella parte superiore del programma di visualizzazione.
Parametri di evento Il parametro evento contiene la stringa da ricerca nella finestra del programma di visualizzazione ipertesto.
Note La finestra attiva del programma di visualizzazione sub-ipertesto si presuppone sia un programma di visualizzazione del testo. Questo è vero se il messaggio di inquiry viene inviato in risposta ad un messaggio pulsante. I messaggi definiti dall'utente possono essere inviati ad ogni finestra che dispone di una funzione eventi.
Tutti i messaggi definiti dall'utente possono avere un valore $MsgUser o superiore. Tutti i parametri aggiuntivi possono essere inoltrati con un messaggio definito dall'utente.
E' responsabilità della finestra di ricezione sapere i parametri validi per il messaggio. Se i parametri aggiuntivi possono essere assegnati nell'istruzione SendMessage, essi possono essere assegnati nella funzione eventi.

$MsgSetIcon

Inviato a Questo può essere inviato ad una finestra generica, ad una finestra a scorrimento, ad una finestra del programma di visualizzazione ipertesto o a una casella di dialogo.
Descrizione Imposta l'icona che viene visualizzata quando la finestra viene minimizzata
Parametri di evento Il parametro di evento contiene il nome del file icona da visualizzare (stringa)

$MsgSetImage

Inviato a Questo può essere inviato ad una finestra immagine.
Descrizione Imposta l'immagine.
Parametri di evento Il parametro evento contiene il nome del file immagine da visualizzare (stringa). L'immagine può essere un file bitmap OS/2, una bitmap di Windows o un file immagine .PCX.
Note Consultare WinCreateImage per ulteriori informazioni.

$MsgSetSize

Inviato a Questo può essere inviato ad ogni finestra
Descrizione Imposta le dimensioni della finestra (compresa la frame, la barra dei titoli e altri elementi)
Parametri di evento Esistono due parametri di evento:
  • Il primo parametro evento contiene la larghezza (intero) della finestra.
  • Il secondo parametro evento contiene l'altezza (intero) della finestra.

$MsgSetTitle

Inviato a Questo può essere inviato ad ogni finestra con una barra dei titoli
Descrizione Imposta il testo della barra dei titoli sul testo specificato
Parametri di evento Il parametro evento contiene il testo (stringa) da visualizzare nella barra dei titoli

$MsgShow

Inviato a Questo può essere inviato ad ogni finestra
Descrizione Imposta la visibilità di un finestra
Parametri di evento Il parametro evento contiene TRUE o FALSE e indica se la finestra è visibile (TRUE) o invisibile (FALSE)

$MsgSize

Inviato a Questo può essere inviato ad una finestra generica o a una finestra a scorrimento.
Descrizione Imposta le dimensioni dell'area utente della finestra sull'altezza e la larghezza specificate. Adatta le dimensioni della frame della finestra di conseguenza.
Parametri di evento Esistono due parametri di evento:
  • Il primo parametro evento contiene la larghezza (intero) della finestra.
  • Il secondo parametro evento contiene l'altezza (intero) della finestra.

$MsgStartTimer

Inviato a Questo può essere inviato ad una finestra generica o a una finestra a scorrimento.
Descrizione Avvia un timer di sistema per la finestra. Il timer invia un messaggio $MsgTimer alla finestra ad intervalli specificati.
Parametri di evento Esistono due parametri di evento:
  • Il primo parametro evento contiene l'ID (intero) del timer.
  • Il secondo parametro contiene l'intervallo (intero) dei messaggi $MsgTimer. L'intervallo viene espresso in millisecondi. Sia per Windows che per OS/2, questo intervallo non può superare 65535.
Note Il sistema operativo non garantisce l'esattezza dell'intervallo durante il quale il messaggio $MsgTimer viene inviato alla finestra.
E' disponibile un numero limitato di timer. Arrestare sempre un timer quando non è più necessario.

$MsgStopTimer

Inviato a Questo può essere inviato ad una finestra generica o di scorrimento
Descrizione Arresta il timer avviato con $timerId
Parametri di evento Il parametro evento contiene l'ID del timer (intero)

$MsgTimer

Inviato a Questo può essere inviato ad una finestra generica o di scorrimento
Descrizione Simula un messaggio timer inviato ad una finestra
Parametri di evento Il parametro evento contiene l'ID del timer (intero)

$MsgUser + n

Inviato a Ogni finestra o casella di dialogo, come definito dall'utente.
Descrizione Questa è una costante dei messaggi definita dall'utente.
Parametri di evento I parametri possono essere inoltrati con un messaggio definito dall'utente. Se i parametri aggiuntivi possono essere assegnati nell'istruzione SendMessage, essi possono essere assegnati nella funzione evento.
La finestra di ricezione deve conoscere i parametri validi per il messaggio.
Note Tutti i messaggi definiti dall'utente devono avere un valore $MsgUser+n dove n è un qualsiasi numero scelto da assegnare alla nuova costante dei messaggi.

Messaggi spediti

I seguenti messaggi possono essere inviati agli handle della finestra con l'istruzione PostMessage.

$MsgMenu

Spedito a Questo può essere spedito ad ogni finestra con una barra dei menu
Descrizione Simula la selezione, da parte dell'utente, di una voce di menu con un ID specificato nell'argomento menuSelection.
Parametri di evento menuSelection (intero)
Note Consultare WinSetMenuBar per ulteriori informazioni

$MsgMove

Spedito a Questo può essere spedito ad ogni finestra
Descrizione Sposta l'angolo superiore sinistro della frame della finestra nella posizione specificata
Parametri di evento Esistono due parametri di evento:
  • Il primo parametro evento contiene l'ubicazione X (intero) della finestra.
  • Il secondo parametro evento contiene l'ubicazione Y (intero) della finestra.

$MsgPaint

Spedito a Questo può essere spedito ad ogni finestra
Descrizione Richiede alla finestra di ridisegnarsi

$MsgPaintStatus

Spedito a Questo può essere spedito ad ogni finestra con una barra di stato
Descrizione Richiede alla finestra di aggiornare la propria barra di stato

$MsgUser+n

Spedito a I messaggi definiti dall'utente possono essere spediti ad ogni finestra con una funzione eventi.
Descrizione Tutti i messaggi definiti dall'utente possono avere un valore $MsgUser o superiore.
Parametri di evento Ogni parametro evento può essere inoltrato con un messaggio definito dall'utente. E' responsabilità della finestra di ricezione sapere i parametri validi per il messaggio. I parametri vengono sempre inoltrati a seconda del valore.

Messaggi trasmissibili DDE

Tutte le comunicazioni in uscita dall'applicazione DDE devono essere gestite attraverso le istruzioni TSD Script appropriate. Consultare le seguenti istruzioni:

Suggerimento: Ogni volta che si riceve un messaggio DDE, è necessario restituire un messaggio $MsgDDEAcknowledge. La mancata restituzione di $MsgDDEAcknowledge può provocare una perdita della memoria.

Suggerimento: Se si desidera inviare una conferma della ricezione del messaggio $MsgDDExxx, EXIT semplicemente ($DDEAck). Se si desidera inviare un messaggio di mancata ricezione, EXIT(0).


Riferimento Lingua del Tivoli Service Desk 6.0 Developer's Toolkit Script

Ritorna alla pagina principale

Copyright