Tivoli Service Desk 6.0 Developer's Toolkit - Manuel de référence du langage TSD Script

Gestion des fenêtres

Retour à la page principale


Remarque : Toutes les fonctions Win ont le même code retour. Ce tableau de codes apparaît dans la fonction WinAboutBox et chaque fonction Win est dotée d'un lien permettant d'y accéder.


Retour à la page principale


Remarque : Il s'agit de la première partie des fonctions de gestion des fenêtres. Cette partie se termine au niveau de la fonction WinSetColor,
et la seconde partie commence à WinSetFont.


$Desktop

Description

Renvoie un descripteur à la fenêtre du bureau. Cette valeur est permanente pendant la session en cours. Elle n'est cependant pas stockée de façon permanente. Lors de l'exécution suivante du programme, cette constante prend une nouvelle valeur.

Syntaxe

FUNCTION $Desktop: WINDOW;

Avertissement : Sous OS/2, vous pouvez envoyer des messages valides au bureau pour mettre le traitement en mode pause. Par exemple, si vous envoyez le message $MsgClose au bureau, l'exécution du programme se met en pause. Ce comportement est contrôlé par le système d'exploitation.

Remarques

$Desktop est une constante système prédéfinie qui contient le descripteur du bureau OS/2 ou du bureau Windows. Elle est souvent indiquée en tant que parent dans les instructions relatives aux fenêtres et aux boîtes de dialogue.

Exemple

KNOWLEDGEBASE Desktop;
    ROUTINES
 PROCEDURE Example;
PRIVATE
    ROUTINES
 (* Create a scroll window parented by the desktop with
 default event processing *)
PROCEDURE Example IS
 VARIABLES
 whdl: WINDOW;
ACTIONS
 WinCreateScrollWindow($Desktop, (*Window is a child of
                       OS/2 desktop *)
                       whdl, (* return handle
                       of new window *)
                       $NullHandler, (* Default event
                       processing *)
                       5, 5, 80, 20, (* Window location
                       and size *)
                       'Example', (* Window title *)
                       '', (* Use default font
                       *)
                       0, (* Point size is
                       ignored for
                       default *)
                    BitOr($WinTitle, $WinBorder,
                       $WinSysMenu ));
 WinWait( whdl );
              END;

Voir aussi


$KeyCode

Description

Indique la touche enfoncée par l'utilisateur lorsqu'un événement $MsgChar se produit.

Remarques

TSD Script définit plusieurs constantes pour les touches spéciales telles que les touches de commande du curseur, les touches de modification (c'est-à-dire les touches utilisées en combinaison avec d'autres touches, comme Ctrl ou Alt), etc.

Remarque : Pour plus d'informations, reportez-vous à la rubrique Constantes de TSD Script.

Exemple

EVENT MyEvent IS
ACTIONS
WHEN $Event IS $MsgChar THEN
 WHEN $KeyCode IS $KeyUpArrow THEN
 MoveUp;
 ELSWHEN $KeyDownArrow THEN
 MoveDown;
 ELSWHEN $KeyLeftArrow THEN
 MoveLeft;
 ELSWHEN $KeyRightArrow THEN
 MoveRight;
              END;
              END;

Voir aussi


WinAboutBox

Description

Cette fonction affiche une fenêtre par défaut "A propos de" relative à une application.

Syntaxe

FUNCTION WinAboutBox( VAL Icon : STRING,
                     VAL AppName : STRING,
                     VAL Version : STRING ) : INTEGER;

Avertissement

Les informations affichées contiennent un message de copyright de Tivoli Service Desk et ne sont pas destinées à d'autres applications.

Remarques concernant les arguments

Nom de l'argument Description
Icon Nom du fichier .bmp associé devant s'afficher avec
l'application. Si le fichier est introuvable ou que son nom n'est pas valide, la fenêtre n'affiche pas de graphique. Les fichiers indiqués par cette commande sont recherchés dans les variables d'environnement SAIPATH et PATH.
AppName Nom de l'application.
Version Numéro de version de l'application.

Exemple

KNOWLEDGEBASE aboutbox;
CONSTANTS
AppName IS 'Pink Elephant Word Processor'; AppVersion IS
 'Version 3.1';
    ROUTINES
Procedure DisplayAboutBox;
PRIVATE
    ROUTINES
Procedure DisplayAboutBox IS
 VARIABLES
ACTIONS
WinAboutBox('pink.bmp', AppName, AppVersion);
              END;

Codes retour

Code retour Description
1 Opération ayant abouti.
0 Abandon de l'utilisateur. L'utilisateur a fermé la fenêtre ou a abandonné l'opération. Cette opération s'effectue généralement lorsque l'utilisateur appuie sur la touche Echap, clique sur le bouton Annuler ou ferme la fenêtre à partir du menu système.
-1 Le descripteur de fenêtre ne fait pas référence à une fenêtre valide. La fenêtre n'existe peut-être plus ou ne prend pas en charge la commande.
-2 Valeur inconnue.
-3 La mémoire est insuffisante.
-4 Aucune création. Le système d'exploitation n'a pas pu créer l'objet demandé. Un descripteur de fenêtre parent fait peut-être référence à une fenêtre qui n'existe plus.
-7 Le contrôle nommé d'une boîte de dialogue est introuvable dans la boîte de dialogue à laquelle le descripteur de fenêtre fait référence.
-8 La commande de boîte de dialogue demandée ne peut pas être exécutée sur le type de contrôle nommé.
-10 Un appel a échoué au niveau du système d'exploitation. Cela peut être dû à une configuration incorrecte ou à une inadéquation des ressources.
-12 L'instruction SendMessage ou PostMessage a été appelée par un message qui n'est pas pris en charge par les instructions NETx. Le message doit être l'un des messages $MsgNetx pris en charge ou un message $MsgUser + n défini par l'utilisateur spécifiquement en vue d'une utilisation avec les instructions NETx.

WinClear

Description

Efface la totalité de la surface utile d'une fenêtre ou d'une fenêtre défilante en y appliquant la couleur d'arrière-plan.

Syntaxe

FUNCTION WinClear(VAL whdl: WINDOW): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre à effacer. Ce descripteur peut faire référence à une fenêtre standard ou à une fenêtre défilante.

Remarques

La couleur d'arrière-plan courante peut être changée à l'aide de la fonction WinSetColor.

Exemple

WHEN $Event IS $MsgPaint THEN
 WinSetColor($Handle,$WinWhite,$WinBlack);
    WinClear( $Handle );
             WinWrite($Handle,'Black');

Codes retour

Voir aussi


WinClearEOL

Description

Efface le contenu d'une fenêtre (de la position du curseur jusqu'à la fin de la ligne) en y appliquant la couleur d'arrière-plan en cours.

Syntaxe

FUNCTION WinClearEOL(VAL whdl: WINDOW): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre à effacer. Ce descripteur peut faire référence à une fenêtre standard ou à une fenêtre défilante.

Remarques

WinClearEOL efface le contenu de la fenêtre, de la position du curseur jusqu'à la fin de la ligne en cours. Il ne modifie pas la position du curseur. La surface effacée prend la couleur d'arrière-plan en cours.

Remarque : La couleur d'arrière-plan peut être changée à l'aide de la fonction WinSetColor.

Exemple

WHEN $Event IS $MsgPaint THEN
 WinSetColor($Handle,$WinWhite,$WinBlue);
             WinGoToXY($Handle,2,2);
             WinClearEOL($Handle);

Codes retour

Voir aussi


WinClearEOW

Description

Efface le contenu de la fenêtre (de la position du curseur jusqu'au bas de la fenêtre) en y appliquant la couleur d'arrière-plan en cours.

Syntaxe

FUNCTION WinClearEOW(VAL whdl: WINDOW): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre à effacer. Ce descripteur peut faire référence à une fenêtre standard ou à une fenêtre défilante.

Remarques

WinClearEOW efface le contenu de la fenêtre indiquée de la position du curseur jusqu'à la fin de la fenêtre. La surface effacée prend la couleur d'arrière-plan en cours. La position du curseur n'est pas modifiée.

Remarque : La couleur d'arrière-plan en cours peut être changée à l'aide de l'instruction WinSetColor.

Exemple

WHEN $Event IS $MsgPaint THEN
 WinGoToXY($Handle,5,10);
 WinSetColor($Handle,$WinWhite,$WinLightBlue);
 WinClearEOW($Handle);

Codes retour

Voir aussi


WinClearRectangle

Description

Efface une surface rectangulaire dans une fenêtre en y appliquant la couleur d'arrière-plan en cours.

Syntaxe

FUNCTION WinClearRectangle(VAL whdl: WINDOW, VAL xLoc, yLoc,
                           width, height: INTEGER):
                           INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre à effacer. Ce descripteur peut faire référence à une fenêtre standard ou à une fenêtre défilante.
xLoc Abscisse (x) de l'angle supérieur gauche de la surface à effacer. Les abscisses sont exprimées en cellules de caractère.
yLoc Ordonnée (y) de l'angle supérieur gauche de la surface à effacer. Les ordonnées sont exprimées en cellules de caractère.
width Largeur de la surface à effacer. La largeur est exprimée en cellules de caractère.
height Hauteur de la surface à effacer. La hauteur est exprimée en cellules de caractère.

Remarques

WinClearRectangle efface une surface rectangulaire spécifique dans une fenêtre donnée. La surface effacée prend la couleur d'arrière-plan en cours. Le curseur n'est pas déplacé.

Remarque : La couleur d'arrière-plan en cours peut être changée à l'aide de l'instruction WinSetColor.

Exemple

WHEN $Event IS $MsgPaint THEN
 WinSetColor($Handle,$WinWhite,$WinBlack);
 WinClearRectangle($Handle,5,10,40,8);
END:

Codes retour

Voir aussi


WinCloseWindow

Description

Ferme une boîte de dialogue ou une fenêtre.

Syntaxe

FUNCTION WinCloseWindow(VAL whdl: WINDOW): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la boîte de dialogue ou de la fenêtre à fermer.

Remarques

Cette fonction est également mise en oeuvre en tant que message pouvant être transmis à une boîte de dialogue ou à une fenêtre ($MsgClose).

Exemple

KNOWLEDGEBASE close;
    ROUTINES
 PROCEDURE Main;
PRIVATE
    ROUTINES
PROCEDURE Main IS
 VARIABLES
 Handle : WINDOW;
ACTIONS
 WinCreate($Desktop,
 Handle,
 $NullHandler,
 1, 1,
 80, 25,
 'Window will close shortly...',
 $WinDefaultStyle);
 SysDelay(1000);
 WinCloseWindow(Handle);
              END;

Codes retour


WinCreate

Description

Crée une fenêtre standard ou générique.

Syntaxe

FUNCTION WinCreate(VAL parent: WINDOW, REF whdl: WINDOW,
                   VAL EventHandler: EVENT,
                   VAL xLoc, yLoc, width, height: INTEGER,
                   VAL title: STRING, style: INTEGER):
                   INTEGER;

Avertissement

Si la fonction d'événement ne traite pas le message de mise en couleur et efface la fenêtre, cette dernière conserve une image correspondant à son aspect au moment de sa création.

WinCreate ne renvoie pas de valeur tant que $MsgCreate n'est pas traité. La valeur du descripteur de fenêtre renvoyé n'est donc pas définie tant que $MsgCreate n'est pas traité. Cependant, $Handle peut toujours être utilisé lors du traitement de WinCreate.

Remarques concernant les arguments

Nom de l'argument Description
parent Parent de la fenêtre à créer.
whdl Le descripteur de la fenêtre nouvellement créée est renvoyé dans ce paramètre. En cas d'erreur, la variable prend la valeur $Unknown (inconnu).
EventHandler Gestionnaire d'événements chargé de traiter les événements générés par la fenêtre ou la boîte de dialogue. Si aucun traitement d'événement n'est requis, le mot clé $NullHandler peut être utilisé.
xLoc Abscisse (x) de l'angle supérieur gauche de la fenêtre. Les abscisses sont exprimées en cellules de caractère.
yLoc Ordonnée (y) de l'angle supérieur gauche de la fenêtre. Les ordonnées sont exprimées en cellules de caractère.
width Largeur (dimension x) de la fenêtre, bordure non comprise.
height Hauteur (dimension y) de la fenêtre, bordure, barre de titre, barre de menus, barre d'outils et barre d'état non comprises.
title Titre affiché sur la barre de titre de la fenêtre. La fenêtre doit pour cela comporter une barre de titre. Utilisez un style contenant la valeur $WinTitle.
style Masque de contrôle des données entières représentant un ensemble d'indicateurs de style permettant de contrôler l'aspect de la fenêtre.
Pour obtenir une liste des indicateurs de style disponibles, reportez-vous à Styles de fenêtre.

Remarques

Premiers messages reçus

Lorsqu'une fenêtre est créée, les messages ci-après sont reçus dans l'ordre indiqué.

Personnalisation d'une fenêtre à l'aide de styles

WinCreate permet de créer des fenêtres standard ou génériques. De telles fenêtres peuvent contenir des barres de menus, des barres d'outils et des barres d'état, ainsi que d'autres éléments.

L'aspect et le comportement exacts de la fenêtre créée à l'aide de la fonction WinCreate sont en grande partie déterminés par l'argument style. Cet argument de type entier est un masque de contrôle de données composé de divers indicateurs (répertoriés dans la section ci-après). Il est généralement utilisé en combinaison avec l'opérateur BITOR (par exemple, BITOR($WinBorder, $WinTitle)). Cette méthode doit être maniée avec précaution car elle peut entraîner des effets indésirables si le même indicateur est ajouté deux fois.

Remarque : Pour plus d'informations, reportez-vous à la rubrique Styles de fenêtre.

Création d'un gestionnaire d'événements pour une fenêtre

L'association d'un gestionnaire d'événements à une fenêtre s'effectue généralement via la fonction WinCreate. Un gestionnaire d'événements est une routine qui traite certains messages envoyés à la fenêtre. Par exemple, si la fenêtre est dotée d'une barre d'icônes, son gestionnaire d'événements reçoit les messages (événements) $MsgMenu à chaque fois que l'utilisateur clique sur l'une des icônes. Le premier paramètre d'événement (entier) contient un nombre compris entre un (1) et le nombre d'icônes, indiquant l'icône sélectionnée. Le gestionnaire d'événements peut ensuite appeler une routine particulière.

Remarque : Les divers messages pouvant être reçus par les fenêtres créées à l'aide de la fonction WinCreate sont décrits et expliqués dans la rubrique Messages TSD Script.

Exemple

EVENT MainEvent IS
ACTIONS
     WHEN $Event IS $MsgCreate THEN
 WinSetIconBar($Handle,{'FILE.ICO',
               'REPORT.ICO','HELP.ICO'}:
               LIST OF STRING);
  ELSWHEN $MsgMenu THEN
 WHEN $EventParm(1,INTEGER) IS 1 THEN
 HandleFileIcon;
        ELSWHEN 2 THEN
 HandleReportIcon;
        ELSWHEN 3 THEN
 HandleHelpIcon;
              END;
              END;
              END;
PROCEDURE MainProgram IS
 VARIABLES
mainWindow: WINDOW;
ACTIONS
WinCreate($Desktop,mainWindow,MainEvent,0,0,80,20,
 'Main Window',
 BitOr($WinBorder,$WinTitle,$WinResize,
 $WinSysMenu, $WinIconBar,
 $WinAutoPos,$WinTaskList));
WinWait(mainWindow);
              END;

Codes retour

Voir aussi


WinCreateClock

Description

Crée une fenêtre d'horloge ou de minuterie.

Syntaxe

FUNCTION WinCreateClock(VAL whdlParent: WINDOW,
                        REF whdl: WINDOW,
                        VAL xLoc, yLoc, width, height, style,
                        id: INTEGER): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdlParent Parent de la fenêtre à créer.
whdl Le descripteur de la nouvelle fenêtre est renvoyé dans ce paramètre. En cas d'erreur, la variable prend la valeur $Unknown (inconnu).
xLoc Abscisse (x) de l'angle supérieur gauche de la fenêtre. Les abscisses sont exprimées en cellules de caractère.
yLoc Ordonnée (y) de l'angle supérieur gauche de la fenêtre. Les ordonnées sont exprimées en cellules de caractère.
width Largeur (dimension x) de la fenêtre, bordure non comprise. La largeur est exprimée en cellules de caractère.
height Hauteur (dimension y) de la fenêtre, bordure, barre de titre, barre de menus, barre d'outils et barre d'état non comprises. La hauteur est exprimée en cellules de caractère.
style Style de la fenêtre de l'horloge. Les indicateurs de style sont utilisés en combinaison avec l'opérateur BITOR.
Sélectionnez une ou aucune des fonctions suivantes :
  • $ClkBorderIn - Trace la fenêtre de l'horloge avec une bordure en creux (par défaut).
  • $ClkBorderOut - Trace une bordure en relief.
  • $ClkBorderNon - Ne trace aucune bordure.
  • $ClkBorder - Trace une bordure similaire à celle d'une zone de texte.

Sélectionnez une ou aucune des fonctions suivantes :

  • $Clk12Hour - Format 12 heures avec la distinction AM et PM (par défaut).
  • $Clk24Hour - Format 24 heures.

Indicateur facultatif : $ClkHidden - L'horloge ne s'affiche pas à l'écran.

ID Numéro d'identification utilisé dans les messages de notification envoyés aux fenêtres parent. Vous pouvez créer des minuteries dans des fenêtres génériques à l'aide du message $MsgStartTimer.

Remarques

WinCreateClock permet de créer des horloges qui se mettent à jour elles-mêmes en temps réel (à chaque seconde). Par défaut, une horloge commence à afficher l'heure courante en fonction de l'horloge système. Cependant, vous pouvez définir une horloge pour qu'elle affiche une heure courante en lui envoyant le message $MsgClockSet ainsi qu'une valeur horaire.

Par exemple, la ligne ci-après permet de configurer une horloge indiquant le temps écoulé :

SendMessage(clockWindow,$MsgClockSet,{0,0,0}: TIME);

Les fenêtres d'horloge répondent également aux messages $MsgShow. Cela permet de créer une fenêtre d'horloge, de la masquer, de modifier sa valeur horaire et de l'afficher. Soit l'exemple suivant :

     WHEN $Event IS $MsgCreate THEN
 WinCreateClock($Handle,clockWindow,
 1,1,13,2,
 $Clk24Hour,0);
 SendMessage(clockWindow,$MsgShow,FALSE);
ELSWHEN START_TIMER THEN
 SendMessage(clockWindow,$MsgClockSet,
 {0,0,0}: TIME):
 SendMessage(clockWindow,$MsgShow,TRUE);
              END;

Cet exemple illustre le traitement d'événement d'une autre fenêtre. Lorsque la fenêtre est créée, elle crée une horloge et la masque. Lorsqu'elle reçoit un message START_TIMER, elle attribue à l'heure de l'horloge la valeur 00:00:00 et affiche l'horloge. L'utilisateur visualise une horloge indiquant le temps écoulé.

Exemple

 VARIABLES
clock: WINDOW;
    ROUTINES
EVENT WindowEvent IS
ACTIONS
     WHEN $Event IS $MsgCreate THEN
 WinCreateClock($Handle,clock,1,1,13,2,$ClkBorderIn,1);
              END;
              END;

Codes retour

Voir aussi


WinCreateHyperViewer

Description

Crée une fenêtre d'afficheur d'interface MDI dotée d'une fonction hypertexte de base. Les barres de menu disponibles dans les menus Fichier, Editer et Fenêtre permettent :

Vous pouvez accéder aux options des menus en incrustation en appuyant sur le bouton droit de la souris dans un afficheur hypermédia. Ces options permettent de sélectionner :

Syntaxe

FUNCTION WinCreateHyperViewer(VAL whdlParent: WINDOW,
                              REF whdl: WINDOW,
                              VAL fileName: STRING,
                              VAL EventFunc: EVENT,
                              VAL xLoc, yLoc, width, height:
                              INTEGER,
                              VAL title: STRING,
                              VAL style: INTEGER): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdlParent Parent de la fenêtre à créer.
whdl Le descripteur de la fenêtre nouvellement créée est renvoyé dans ce paramètre. En cas d'erreur, l'argument whdl prend la valeur $Unknown.
fileName Nom du fichier à afficher. Si le fichier ne se trouve pas dans le répertoire en cours, il est recherché dans la variable d'environnement SAIPATH. Le fichier peut être un fichier ASCII ou avoir des liens hypertexte intégrés.
Pour plus d'informations, reportez-vous à la section Remarques.
EventFunc Gestionnaire d'événements chargé de traiter les événements générés par la fenêtre ou la boîte de dialogue. Si aucun traitement d'événement n'est requis, le mot clé $NullHandler peut être utilisé.
xLoc Abscisse (x) de l'angle supérieur gauche de la fenêtre. Les abscisses sont exprimées en cellules de caractère.
yLoc Ordonnée (y) de l'angle supérieur gauche de la fenêtre. Les ordonnées sont exprimées en cellules de caractère.
width Largeur (dimension x) de la fenêtre, bordure non comprise. La largeur est exprimée en cellules de caractère.
height Hauteur (dimension y) de la fenêtre, bordure, barre de titre, barre de menus, barre d'outils et barre d'état non comprises. La hauteur est exprimée en cellules de caractère.
title Titre affiché sur la barre de titre de la fenêtre. La fenêtre doit pour cela comporter une barre de titre.
style Masque de contrôle des données entières représentant une liste d'indicateurs de style permettant de contrôler l'aspect de la fenêtre.
Pour plus d'informations, reportez-vous à la section Remarques relative à cette instruction.

Remarques

WinCreateHyperViewer permet de créer un afficheur hypertexte. WinCreateHyperViewer crée une fenêtre avec l'emplacement, la taille et les styles indiqués mais affiche également le contenu du fichier indiqué. Ce fichier doit contenir un texte ASCII comportant des boutons intégrés. Un bouton, qui apparaît pour l'utilisateur sous forme de mot mis en évidence, est un lien permettant d'accéder à un autre objet tel qu'un fichier texte ou son, une image ou un programme.

Un bouton est défini au format suivant :

[[<texte du bouton> | <commande>]]

<texte du bouton> correspond au texte à mettre en évidence et <commande> indique l'action lancée lorsque l'utilisateur clique sur le bouton.

Renvoi à la ligne

Le contrôle hypertexte suppose que le fichier fourni ait le même format qu'un fichier hypermédia Tivoli Systems. Cela signifie qu'il renvoie à la ligne toutes les lignes de texte (en ignorant les retours chariot) jusqu'à ce qu'il trouve deux retours chariot dans une même ligne.

Arrêt du renvoi à la ligne et des valeurs par défaut de formatage

Pour mettre fin au renvoi à la ligne et aux valeurs par défaut de formatage dans une fenêtre hypertexte, vous pouvez utiliser aseview.exe pour transmettre les indicateurs /NOWORDWRAP /NOFORMAT sous forme d'arguments de ligne de commande. Il s'agit du seul moyen de mettre fin via un programme au renvoi à la ligne et aux valeurs par défaut de formatage dans une fenêtre hypertexte.

Options de la commande WinCreateHyperviewer

Le tableau ci-après indique et décrit les options de l'instruction WinCreateHyperViewer.

Option de la commande Description
ID Si la commande est un entier, elle est supposée être un ID de bouton. Lorsque l'utilisateur clique sur le bouton, un message $MsgButton est envoyé au gestionnaire d'événements de la fenêtre d'afficheur hypertexte. Le texte du bouton figure dans le premier paramètre d'événement (entier) et l'ID du bouton se trouve dans le second paramètre d'événement (entier).
Si aucune commande n'est fournie (si le bouton est de la forme [[texte bouton]]), le gestionnaire d'événements reçoit toujours un message $MsgButton lorsque le bouton est sélectionné. Cependant, l'ID de bouton (second paramètre d'événement, entier) est 0. Dans ce cas, si le gestionnaire d'événement renvoie la valeur zéro, l'afficheur modifie le texte du bouton afin que la commande formButtonTextand effectue une opération de recherche (voir ci-après).
JUMP L'option JUMP <nom marque> recherche dans la liste des balises une marque correspondant au texte suivant la balise Jump (pour plus d'informations, reportez-vous à la balise Marker). Si une occurrence est trouvée, la ligne contenant la marque est placée au début de l'afficheur et un EventJump est généré. L'affichage de l'hypertexte traite cet EventJump pour conserver une liste des marques "visitées" dans un fichier.
LABEL L'option LABEL <texte libellé> peut correspondre à n'importe quelle chaîne de caractères. Un message $MsgLabel est envoyé au gestionnaire d'événements de la fenêtre avec le texte du bouton dans le premier paramètre d'événement (chaîne) et le libellé dans le second paramètre d'événement (chaîne).
MARKER L'option MARKER <nom marque> place une marque invisible dans le texte.
SEARCH L'option SEARCH <texte recherché> recherche le <texte recherché> dans le fichier en cours en commençant par le début. Le texte recherché ne doit pas figurer sur plusieurs lignes sauf s'il comporte de nouvelles lignes intégrées. La recherche distingue les majuscules et les minuscules sauf sous Windows.
Si le texte est trouvé, l'afficheur affiche la ligne contenant le texte au début de la fenêtre.
FILE L'option FILE <nom-fichier> [NEW|REPLACE] [NOWORDWRAP|NOFORMAT] ouvre un nouveau fichier texte. Par défaut, le nouveau fichier remplace le fichier en cours dans l'afficheur. C'est également le cas lorsque le mot clé REPLACE suit le <nom-fichier>.
Si le mot clé NEW figure après le <nom-fichier>, une nouvelle fenêtre d'afficheur s'ouvre et affiche le nouveau fichier.
La taille de l'afficheur est déterminée par le système.
Par défaut, le renvoi à la ligne est utilisé pour que toutes les lignes qui ne sont pas séparées par une ligne vide soient traitées comme un paragraphe multicolonne.
La première ligne vide suivant une ligne non vide est supprimée. Le mot clé NOWORDWRAP met fin à cette option. Le mot clé NOFORMAT, utilisé conjointement avec le renvoi à la ligne par défaut, empêche les lignes adjacentes d'être associées mais renvoie les longues lignes à la ligne.
IMAGE L'option IMAGE <fichier-image>.BMP [SCROLL | SCALE] ouvre un afficheur d'image et affiche le fichier d'image indiqué. Par défaut, l'image est coupée pour s'ajuster aux dimensions de l'afficheur. Le mot clé SCALE redimensionne l'image à l'échelle de l'afficheur. Le mot clé SCROLL coupe l'image mais ajoute des barres de défilement dans l'afficheur qui permettent de visualiser la totalité de l'image en la faisant défiler.
PLAY L'option PLAY <fichier-son>.WAV exécute le fichier audio indiqué. Une fenêtre d'afficheur hypertexte apparaît permettant à l'utilisateur de contrôler la lecture du fichier audio.
RUN L'option RUN <nom-app> exécute l'application indiquée. <nom-app>peut être une chaîne contenant non seulement le nom d'un exécutable ou d'un fichier de commandes mais également des arguments de ligne de commande (par exemple, [[Windows NT|RUN F:\DOC\DOCMAN.EXE WINDOWS_NT]]).


Pour obtenir une liste complète des différents types de messages pouvant être reçus par des fenêtres génériques, reportez-vous à la rubrique Messages TSD Script.

Pour plus d'informations sur les indicateurs de style de fenêtre, reportez-vous à l'instruction WinCreate.

Exemple

KNOWLEDGEBASE WinHyper;
    ROUTINES
 PROCEDURE HyperTextExample;
PRIVATE
CONSTANTS
 MENU_LIST {'File' ,'Open','/L ','Exit',''}: LIST OF STRING;
    ROUTINES
 EVENT HyperTextEvent IS
 VARIABLES
 fileName: STRING;
 ACTIONS
     WHEN $Event IS $MsgCreate THEN
 WinSetMenuBar($Handle,MENU_LIST);
 WinSetIconBar($Handle,{'hyp_text.ico',
 'hypimage.ico',
 'hypsound.ico','search.ico'}:
LIST OF STRING);
  ELSWHEN $MsgMenu THEN
 WHEN $MenuSelection IS 1, 101 THEN
 IF WinFileDialog($Desktop,fileName,'*.*',
                  10,10, 'Select file to view',0)
              < 0 THEN
                  WinMessageBox($Handle,'Error',
                  $MBOk+$MBIconError,fileName);
ELSE
 SendMessage($Handle,$MsgOpenFile,fileName,
             fileName,0);
              END;
        ELSWHEN 2 THEN
 IF WinFileDialog($Desktop,fileName,'*.bmp',
                  10,10, 'Select bitmap to view',0)
              < 0 THEN
 WinMessageBox( $Handle, 'Error', $MBOk+
               $MBIconError,fileName );
ELSE
 SendMessage($Handle,$MsgDisplayImage,fileName,
             fileName,0);
              END;
        ELSWHEN 3 THEN
 IF WinFileDialog($Desktop,fileName,'*.wav',10,10,
                  'Select sound to play',0)
              < 0 THEN
                  WinMessageBox($Handle,'Error',
                  $MBOk+$MBIconError,fileName);
ELSE
 SendMessage($Handle,$MsgPlaySound,fileName,
             fileName,0);
              END;
 ELSWHEN 4 THEN
             IF WinEditField($Desktop,fileName,0,0,30,
             'Search for?',
             BitOr($WinAutoPos,
             $WinBorder,
             $WinTitle)) < 1 THEN
 WinMessageBox($Handle,'Error',
             $MBOk+$MBIconError,fileName);
ELSE
 SendMessage($Handle,$MsgSearch,fileName);
              END;
 ELSWHEN 103 THEN
 SendMessage($Handle,$MsgClose);
              END;
  ELSWHEN $MsgChar THEN
 WHEN $KeyCode IS $KeyAltT THEN
 SendMessage($Handle,$MsgMenu,1);
 ELSWHEN $KeyAltI THEN
 SendMessage($Handle,$MsgMenu,2);
 ELSWHEN $KeyAltA THEN
 SendMessage($Handle,$MsgMenu,3);
 ELSWHEN $KeyAltS THEN
 SendMessage($Handle,$MsgMenu,4);
ELSE
 WinMessageBox($Handle,'Hypertext Key',$MBOK,
               $KeyCode );
              END;
 ELSWHEN $MsgButton THEN
 WinMessageBox($Handle,'Hypertext Button',$MBOK,
               'Button text' &
               $EventParm(1,STRING) &
               'Button ID ' &
               $EventParm(2,INTEGER));
 ELSWHEN $MsgLabel THEN
 WinMessageBox($Handle,'Hypertext Button',$MBOK,
               'Button text ' &
               $EventParm(1,STRING) &
               'Button Label ' &
               $EventParm(2,STRING));
              END;
 END (* Hypertext Event *);
 PROCEDURE HyperTextExample IS
 VARIABLES
 whdl: WINDOW;
 ACTIONS
 WinCreateHyperViewer($Desktop,whdl,'formman.hlp',
                      HyperTextEvent,1,1,80,25,
                      'Hyertext Test',
                      BitOr($WinBorder,$WinTitle,
                      $WinResize,$WinMenu,
                      $WinIconBar,$WinSysMenu,
                      $WinMinMax,
                      $WinAutoPos,$WinAutoSize));
                      WinWait(whdl);
 END (* Hypertext Example *);

Codes retour

Voir aussi

Pour plus d'informations sur le formatage des fichiers hypermédia, reportez-vous au manuel Tivoli Service Desk Developer's Toolkit - Outils et utilitaires.

Pour plus d'informations sur la variable d'environnement SAIPATH, reportez-vous à la rubrique Recherche de fichiers à l'aide de SAIPATH.


WinCreateImage

Description

Crée une fenêtre affichant une image.

Syntaxe

FUNCTION WinCreateImage(VAL whdlParent: WINDOW,
 REF whdl: WINDOW,
 VAL fileName: STRING,
 VAL xLoc, yLoc, width, height:
 INTEGER,
 VAL title: STRING,
 VAL style, id: INTEGER): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdlParent Parent de la fenêtre à créer.
whdl Le descripteur de la fenêtre nouvellement créée est renvoyé dans ce paramètre. En cas d'erreur, la variable prend la valeur $Unknown (inconnu).
fileName Nom de fichier de l'image affichée. Il peut s'agir d'un fichier bitmap OS/2 ou Windows, ou d'un fichier d'image .PCX.
xLoc Abscisse (x) de l'angle supérieur gauche de la fenêtre. Les abscisses sont exprimées en cellules de caractère.
yLoc Ordonnée (y) de l'angle supérieur gauche de la fenêtre. Les ordonnées sont exprimées en cellules de caractère.
width Largeur (dimension x) de la fenêtre, bordure non comprise. La largeur est exprimée en cellules de caractère.
height Hauteur (dimension y) de la fenêtre, bordure, barre de titre, barre de menus, barre d'outils et barre d'état non comprises. La hauteur est exprimée en cellules de caractère.
title Titre affiché sur la barre de titre de la fenêtre. La fenêtre doit pour cela comporter une barre de titre. Utilisez le style $ImgTitle.
style Entier dont chaque bit contrôle un aspect du comportement de la fenêtre.
Pour plus d'informations sur les options des indicateurs de style, reportez-vous à la section Remarques.
id ID (entier) utilisé par le message $MsgImage pour identifier l'image lorsqu'un événement est indiqué.

Remarques

Vous pouvez composer le style de la fenêtre d'image à partir des styles suivants à l'aide de l'opérateur BITOR :

Style Description
$ImgScroll L'image apparaît en grandeur réelle telle qu'elle est dans le fichier. La fenêtre est dotée de barres de défilement. Si l'image est plus grande que la fenêtre, vous pouvez utiliser les barres de défilement pour visualiser la totalité de l'image.
$ImgClip L'image apparaît en grandeur réelle telle qu'elle est dans le fichier. Si nécessaire, l'image est coupée à droite et à gauche pour s'adapter à la taille de la fenêtre.
$ImgScale La largeur et la hauteur de l'image sont redimensionnées pour s'adapter à la taille de la fenêtre demandée. Ce processus peut déformer l'image.
$ImgBorder La fenêtre contenant l'image a une bordure.
$ImgTitle La fenêtre contenant l'image a un titre. $ImgBorder doit également être indiqué.
Les fenêtres contenant les images peuvent répondre au message $MsgSetImage. Si ce message est associé au nom d'un fichier d'image, la fenêtre charge et affiche le fichier indiqué.

Exemple

KNOWLEDGEBASE WinImage;
TYPES
 ImageRec IS RECORD
 fileName: STRING;
 whdlImage: WINDOW;
              END;
    ROUTINES
 PROCEDURE ImageExample;
PRIVATE
    ROUTINES
 EVENT ImageEvent(REF imageData: ImageRec) IS
 ACTIONS
     WHEN $Event IS $MsgCreate THEN
 WinSetMenuBar($Handle,{'File','Open','/L','Exit',''}:
               LIST OF STRING);
 WinCreateImage($Handle,imageData.whdlImage,
                'os2logo.bmp',1,1,WinWidth($Handle),
                WinHeight($Handle),'',$ImgScroll,1);
  ELSWHEN $MsgMenu THEN
    WHEN $MenuSelection IS 101 THEN
 IF WinFileDialog($Handle,imageData.fileName,'*.bmp',
                  10,10,'Select new image', 0 ) >= 1 THEN
 SendMessage(imageData.whdlImage,
             $MsgSetImage,imageData.fileName);
              END;
 ELSWHEN 103 THEN
 SendMessage($Handle,$MsgClose);
              END;
   ELSWHEN $MsgSize THEN
 SendMessage(imageData.whdlImage,$MsgSetSize,
             $EventParm(1,INTEGER),$EventParm(2,INTEGER));
 ELSWHEN $MsgImage THEN
 WinMessageBox($Handle,'Image',$MBOK,$EventParm(1,
               INTEGER));
              END;
 END (* Image Event *);
 PROCEDURE ImageExample IS
 VARIABLES
 whdl: WINDOW;
 data: ImageRec
 ACTIONS
 WinCreate($Desktop,whdl,ImageEvent{data},0,0,0,0,
           'Image test',
           BitOr($WinBorder,$WinTitle,$WinResize,
           $WinMenu,$WinMinMax,$WinTaskList,
           $WinSysMenu,$WinAutoPos,
           $WinAutoSize));
 WinWait(whdl);
 END (* Image Example *);

Codes retour

Voir aussi


WinCreateMouseRect

Description

Crée une surface rectangulaire dans laquelle l'utilisateur peut cliquer.

Syntaxe

FUNCTION WinCreateMouseRect(VAL whdl: WINDOW,
                            VAL xLoc, yLoc,
                            xLen, yLen, id: INTEGER):
 INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre dans laquelle le rectangle est créé. L'argument whdl peut faire référence à une fenêtre standard ou à une fenêtre défilante.
xLoc Abscisse de l'angle supérieur gauche de la surface.
yLoc Ordonnée de l'angle supérieur gauche de la surface.
xLen Largeur de la surface.
yLen Hauteur de la surface.
id Entier permettant d'identifier la surface.

Remarques

Par défaut, TSD Script ne rend pas compte des événements de souris dans une fenêtre. Vous pouvez cependant faire en sorte que des événements tels des déplacements de souris ou des clics soient indiqués si vous créez une zone souris (surface tenant compte des opérations effectuées à l'aide de la souris). Il s'agit d'une surface rectangulaire dans une fenêtre. Lors de sa création, vous lui attribuez un ID entier. Cet ID est indiqué à la fenêtre parent ainsi que tous les événements de souris se produisant dans cette surface.

Lorsqu'une action a lieu dans une telle surface, le message $MsgMouse et les quatre paramètres d'événement (entiers) ci-après sont envoyés au parent de la surface :

Conseil : WinSetMousePointer doit être appelé à chaque fois qu'une des fenêtres traite un événement $MsgMouse.

Exemple

KNOWLEDGEBASE WinMouse;
    ROUTINES
 PROCEDURE MouseExample;
PRIVATE
CONSTANTS
 MENU_LIST IS {'File' ,
               'Exit','',
               'Pointer type',
               'MouseDefaultPtr',
               'MouseuLArrowPtr',
               'MouseURArrowPtr',
               'MouseDRArrowPtr',
               'MouseDLArrowPtr',
               'MouseUPResizePtr',
               'MouseURResizePtr',
               'MouseRTResizePtr',
               'MouseDRResizePtr',
               'MouseDNResizePtr',
               'MouseDLResizePtr',
               'MouseLTResizePtr',
               'MouseULResizePtr',
               'MouseCrossPtr',
               'MouseHandPtr',
               'MouseHourGlassPtr',
               'MouseIBeamPtr',''}: LIST OF STRING;
    ROUTINES
 EVENT MouseEvent(REF pointerType: INTEGER) IS
    ROUTINES
 PROCEDURE ProcessMenu(VAL whdl: WINDOW, VAL selection:
 INTEGER) IS
 ACTIONS
 WHEN selection IS 101 THEN
 SendMessage(whdl,$MsgClose);
    ELSWHEN 201 THEN
 pointerType := $MouseDefaultPtr;
 ELSWHEN 202 THEN
 pointerType := $MouseuLArrowPtr;
 ELSWHEN 203 THEN
 pointerType := $MouseURArrowPtr;
 ELSWHEN 204 THEN
 pointerType := $MouseDRArrowPtr;
 ELSWHEN 205 THEN
 pointerType := $MouseDLArrowPtr;
 ELSWHEN 206 THEN
 pointerType := $MouseUPResizePtr;
 ELSWHEN 207 THEN
 pointerType := $MouseURResizePtr;
 ELSWHEN 208 THEN
 pointerType := $MouseRTResizePtr;
 ELSWHEN 209 THEN
 pointerType := $MouseDRResizePtr;
 ELSWHEN 210 THEN
 pointerType := $MouseDNResizePtr;
 ELSWHEN 211 THEN
 pointerType := $MouseDLResizePtr;
 ELSWHEN 212 THEN
 pointerType := $MouseLTResizePtr;
 ELSWHEN 213 THEN
 pointerType := $MouseULResizePtr;
 ELSWHEN 214 THEN
 pointerType := $MouseCrossPtr;
 ELSWHEN 215 THEN
 pointerType := $MouseHandPtr;
 ELSWHEN 216 THEN
 pointerType := $MouseHourGlassPtr;
 ELSWHEN 217 THEN
 pointerType := $MouseIBeamPtr;
              END;
 END (* Process Menu *);
 ACTIONS
     WHEN $Event IS $MsgCreate THEN
 WinSetMenuBar($Handle,MENU_LIST);
  ELSWHEN $MsgPaint THEN
    WinClear( $Handle );
 WinCreateMouseRect($Handle,1,1,
                    WinWidth($Handle),
                    WinHeight($Handle),1);
  ELSWHEN $MsgMenu THEN
 ProcessMenu($Handle,$MenuSelection);
 ELSWHEN $MsgMouse THEN
 WinSetMousePointer($handle,pointerType);
              END;
 END (* Mouse Event *);
 PROCEDURE MouseExample IS
 VARIABLES
 whdlMain: WINDOW;
 ACTIONS
 WinCreate($Desktop,whdlMain,MouseEvent{
           $MouseDefaultPtr},
           0,0,60,20,
           'Mouse example',
           BitOr($WinBorder,$WinTitle,
           $WinResize,$WinMenu,
           $WinVScroll,$WinMinMax,
           $WinTaskList,
           $WinSysMenu,$WinAutoPos));
 WinWait(whdlMain);
 END (* Mouse Example *);

Codes retour

Voir aussi

Pour plus d'informations, reportez-vous aux sections Pointeurs de la souris et Messages de la souris.


WinCreateScrollWindow

Description

Crée une fenêtre défilante non modale qui se retrace elle-même si nécessaire.

Syntaxe

WinCreateScrollWindow(VAL whdlParent: WINDOW,
                      REF whdl: WINDOW,|
                      VAL EventHandler: EVENT,
                      VAL xLoc, yLoc, width, height: INTEGER,
                      VAL title, font: STRING,
                      VAL pointSize, style: INTEGER):
                      INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdlParent Parent de la fenêtre défilante.
whdl Le descripteur de la fenêtre nouvellement créée est renvoyé dans ce paramètre. En cas d'erreur, la variable prend la valeur $Unknown (inconnu).
EventHandler Gestionnaire d'événements chargé de traiter les événements générés par la fenêtre ou la boîte de dialogue. Si aucun traitement d'événement n'est requis, le mot clé $NullHandler peut être utilisé.
xLoc Abscisse (x) de l'angle supérieur gauche de la fenêtre. Les abscisses et les ordonnées sont exprimées en cellules de caractère.
yLoc Ordonnée (y) de l'angle supérieur gauche de la fenêtre.
width Largeur (dimension x) de la fenêtre, bordure non comprise. La largeur est exprimée en cellules de caractère.
height Hauteur (dimension y) de la fenêtre, bordure, barre de titre, barre de menus, barre d'outils et barre d'état non comprises. La hauteur est exprimée en cellules de caractère.
title Titre affiché sur la barre de titre de la fenêtre. La fenêtre doit pour cela comporter une barre de titre. Utilisez le style $WinTitle.
font Nom d'une police système disponible.
pointSize Taille en points (ou corps) de la police à utiliser dans la fenêtre.
style Masque de contrôle des données entières représentant une liste d'indicateurs de style permettant de contrôler l'aspect de la fenêtre.
Pour plus d'informations, reportez-vous à la section Remarques relative à l'instruction WinCreate.

Remarques

Premiers messages reçus

Lorsqu'une fenêtre défilante est créée, les messages ci-après sont reçus dans l'ordre indiqué.

Suivi et retraçage des fenêtres défilantes

WinCreateScrollWindow permet de créer une fenêtre défilante virtuelle. Dans le cas de fenêtres génériques, le programmeur connaît le contenu de la fenêtre et la retrace lorsqu'elle reçoit un message $MsgPaint. Les fenêtres défilantes "connaissent" leur contenu. Les programmeurs y écrivent des informations via WinWrite, WinWriteLN, etc.

Remarque : Pour obtenir une liste des messages pouvant être générés er reçus par les fenêtres défilantes, reportez-vous à la rubrique Messages TSD Script.

Personnalisation des fenêtres défilantes

Les fenêtres défilantes peuvent contenir des barres d'outils, des barres de menus, des barres d'état et d'autres éléments disponibles pour les fenêtres génériques.

Exemple

KNOWLEDGEBASE Scroll;
CONSTANTS
 MENU_OPEN IS 101;
 MENU_EXIT IS 102;

 MENU_LIST IS {'~File','~Open','E~xit',''}:
 LIST OF STRING;
TYPES
 EditorData IS RECORD
 statusLine: STRING;
 lines: LIST OF STRING;
              END;
    ROUTINES
 PROCEDURE FileView;
PRIVATE
    ROUTINES
 EVENT EditorEvent(REF editorData: EditorData) IS
    ROUTINES
 PROCEDURE ProcessMainMenu(VALUE selection: INTEGER) IS
 VARIABLES
 fileName: STRING;
 editFile: FILE;
  result: INTEGER;
 ACTIONS
 WHEN selection IS MENU_OPEN THEN
 WinFileDialog($Handle,fileName,'*.KB',5,5,
               'Select file to edit',0);
 IF FOpen(editFile,fileName,$Read) > 0 THEN
 FReadText(editFile,editorData.lines);
 FClose(editFile);
 editorData.statusLine := ' File: ' & fileName;
    WinClear( $Handle );
 WinWriteLN($Handle,editorData.lines);
 PostMessage($Handle,$MsgPaintStatus);
 ELSWHEN MENU_EXIT THEN
 SendMessage($Handle,$MsgClose);
              END;
              END;
 END (* Process Main Menu *);
 ACTIONS
     WHEN $Event IS $MsgCreate THEN
    WinSetMenuBar( $Handle, menuList );
 editorData.statusLine := 'File:';
  ELSWHEN $MsgMenu THEN
 ProcessMainMenu($MenuSelection);
 ELSWHEN $MsgPaintStatus THEN (* Status Bar *)
    WinClear( $Handle );
 WinWrite($Handle,editorData.statusLine);
              END;
 END (* Editor Event *);
 PROCEDURE FileView IS
 VARIABLES
 whdl: WINDOW;
 ACTIONS
 WinCreateScrollWindow($Desktop,whdl,EditorEvent,
                       0,0,0,0,
                       'KML File viewer',
                       $SystemMonospaced,10,
                       BitOr($WinBorder,$WinTitle,
                       $WinResize, $WinSysMenu,
                       $WinMenu,$WinStatus,
                       $WinAutoPos,$WinAutoSize,
                       $WinVScroll,$WinHScroll,
                            $WinTaskList));
 WinWait(whdl);
 END (* File View *);

Codes retour

Voir aussi

Pour plus d'informations, reportez-vous à la section Styles de fenêtre.


WinEditField

Description

Affiche un éditeur sur une seule ligne pour le type de données de la valeur éditée.

Syntaxe

FUNCTION WinEditField(VAL parent: WINDOW, REF value: ANY,
 VAL xLoc, yLoc, length: INTEGER, title:
 STRING,
 VAL style: INTEGER):
 INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
parent Parent de la fenêtre à créer. Sous Windows, si la fenêtre parent est désactivée lors de l'appel de WinEditField, la fenêtre WinEditField n'est pas coupée pour s'adapter à la fenêtre parent.
Sous Windows, si $Desktop est indiqué en tant que parent et combiné avec $WinModal, la fenêtre créée via WinEditField est non modale.
La section ci-après décrit les indicateurs de style tels que $WinModal.
xLoc Abscisse (x) de l'angle supérieur gauche de la fenêtre.
yLoc Ordonnée (y) de l'angle supérieur gauche de la fenêtre.
length Largeur (dimension x) de la fenêtre, bordure non comprise.
title Titre à afficher sur la barre de titre. La fenêtre doit pour cela comporter une barre de titre. Utilisez le style $WinTitle. Sous Windows, la constante $WinTitle est automatiquement ajoutée si vous ne l'indiquez pas.
style Entier contenant une liste des indicateurs de style déterminant l'aspect de la fenêtre. Pour plus d'informations, reportez-vous à la section ci-après concernant les indicateurs de style disponibles.

Remarques

Les indicateurs de style disponibles de WinEditField sont répertoriés dans le tableau suivant :

Indicateur de style Description
$WinAutoPos Le système détermine l'emplacement optimal de la fenêtre. Les paramètres xLoc et yLoc sont ignorés.
$WinAutoSize Le système détermine la taille optimale de la fenêtre. Les paramètres xLen et yLen sont ignorés.
$WinBorder La fenêtre présente une bordure similaire à celle d'une boîte de dialogue. Plusieurs styles requièrent une bordure. Sous Windows, la constante $WinBorder est automatiquement ajoutée si vous ne l'indiquez pas.
$WinDefaultStyle Style par défaut défini par le système à partir de $WinBorder, $WinResize, $WinTitle et $WinSysMenu.
$WinField La fenêtre présente une bordure à un seul pixel (comme les contrôles des boîtes de dialogue). Ce style et $WinBorder s'excluent mutuellement.
$WinInvisible La fenêtre créée est masquée. Elle doit recevoir un message $MsgShow pour devenir visible.
$WinModal La zone d'édition créée est une fenêtre modale. La fenêtre parent de la fenêtre d'édition et de toutes les fenêtres enfant est désactivée.
$WinNone La fenêtre ne présente pas de bordure.
$WinTaskList Le titre de la fenêtre est saisi dans la liste des tâches système. L'utilisateur peut activer la fenêtre à partir de la liste des tâches. Ce style doit généralement être utilisé pour la fenêtre principale d'une application.
$WinTitle La fenêtre présente une barre de titre. Si ce style est absent, aucun titre n'est affiché même si un titre est indiqué comme paramètre. Une barre de titre permet de déplacer la fenêtre.

Exemple

 VARIABLES
 intVal: INTEGER;
ACTIONS
 WinEditField($Desktop,intVal,0,0,30,'Integer',
              $WinAutoPos+$WinBorder+
              $WinTitle);

Codes retour

Voir aussi

DlgBox


WinEnableWindow

Description

Active ou désactive une boîte de dialogue ou une fenêtre.

Syntaxe

FUNCTION WinEnableWindow(VAL whdl: WINDOW, VAL state:
                         BOOLEAN): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la boîte de dialogue ou de la fenêtre dont l'état inactif doit être modifié.
state Prend la valeur TRUE si la fenêtre doit être "activée" et prend la valeur FALSE si elle doit être "désactivée".

Remarques

Cette fonction est également mise en oeuvre en tant que message pouvant être transmis à un formulaire de boîte de dialogue ou à une fenêtre ($MsgEnable).

Exemple

KNOWLEDGEBASE enable;
    ROUTINES
 PROCEDURE Main;
PRIVATE
    ROUTINES
 PROCEDURE Main IS
 VARIABLES
 Handle : WINDOW;
 ACTIONS
 WinCreate($Desktop,
           Handle,
           $NullHandler,
           1, 1,
           80, 25,
           'Test Window',
           $WinDefaultStyle);
 WinEnableWindow(Handle, FALSE);
 SysDelay(1000);
 WinEnableWindow(HANDLE, TRUE);
 WinWait(Handle);
              END;

Codes retour


WinFileDialog

Description

Affiche une boîte de dialogue de sélection de fichier.

Syntaxe

FUNCTION WinFileDialog(VAL whdlParent: WINDOW,
                       REF fileName: STRING,
                       VAL startMask: STRING,
                       VAL xLoc, yLoc: INTEGER,
                       VAL title: STRING, VAL style: INTEGER
                    ): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdlParent Parent de la fenêtre à créer.
fileName Renvoie le nom du fichier sélectionné par l'utilisateur. Si l'utilisateur choisit d'annuler la boîte de dialogue, la valeur n'est pas modifiée.
startMask Le masque de sélection du fichier initial ainsi que les caractères génériques * et ? peuvent être utilisés.
xLoc Abscisse (x) de l'angle inférieur gauche de la fenêtre.
yLoc Ordonnée (y) de l'angle inférieur gauche de la fenêtre.
title Titre affiché sur la barre de titre de la fenêtre. La fenêtre doit pour cela comporter une barre de titre. Utilisez le style $WinTitle.
style Style de la boîte de dialogue du fichier. Les valeurs admises sont :
  • $FileDlgCenter - Centre la boîte de dialogue du fichier dans l'écran.
  • $FileDlgOpen - Crée une boîte de dialogue Ouverture d'un fichier.
  • $FileDlgSaveAs - Crée une boîte de dialogue d'enregistrement sous un autre nom. Les noms des fichiers existants sont affichés en mode inactif.

Remarques

WinFileDialog permet d'inviter les utilisateurs à entrer un nom de fichier lors de l'ouverture d'un nouveau fichier ou lorsqu'ils enregistrent leur travail dans un nouveau fichier. Si vous définissez l'argument startMask, vous pouvez utiliser WinFileDialog pour choisir des types spécifiques de fichiers (par exemple, *.kb for knowledgebases).

Conseil : Les paramètres xLoc et yLoc n'ont pas d'incidence sous Windows.

Exemple

 VARIABLES
 fileName: STRING;
ACTIONS
 IF WinFileDialog($Desktop,fileName,'*.TXT',
 10,10, 'Select file to edit',0) > 0 THEN
 LoadAndEdit(fileName);
              END;

Codes retour

Voir aussi


WinGetXPos

Description

Recherche l'abscisse d'un descripteur valide de fenêtre ou de boîte de dialogue. L'abscisse 00 correspond à l'angle supérieur gauche.

Syntaxe

FUNCTION WinGetXPos (VAL whdl: Window): Integer;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de fenêtre dont l'abscisse est recherchée.

Remarques

WinGetXPos diffère de WinX car il recherche l'angle supérieur gauche d'une fenêtre ou d'une boîte de dialogue alors que WinX renvoie l'emplacement d'un caractère dans une fenêtre. L'abscisse est alors renvoyée.

Exemple

KNOWLEDGEBASE GetPos;
    ROUTINES
 PROCEDURE Main;
PRIVATE
    ROUTINES
 PROCEDURE Main IS
 VARIABLES
 Handle : WINDOW;
 x,y : INTEGER;
 ACTIONS
 WinCreateScrollWindow($Desktop,
                       Handle,
                       $Nullhandler,
                       10,10,75,25,
                       'Test',
                       $SystemMonospaced,10,
                       $WinDefaultStyle);
                       x := WinGetXPos(Handle);
 y := WinGetYPos(Handle);
 WinWriteLN(Handle, 'The upper left corner
            of the window is at
            (' & x & ', ' & y & ')');
 WinWait(Handle);
              END;

Codes retour

Voir aussi

WinGetYPos


WinGetYPos

Description

Recherche l'ordonnée d'un descripteur valide de fenêtre ou de boîte de dialogue. L'ordonnée 00 correspond à l'angle supérieur gauche de la fenêtre ou de la boîte de dialogue.

Syntaxe

FUNCTION WinGetYPos (VAL whdl: Window): Integer;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de fenêtre dont l'ordonnée est recherchée.

Remarques

WinGetYPos diffère de WinY car il recherche l'angle supérieur gauche d'une fenêtre ou d'une boîte de dialogue alors que WinY renvoie l'emplacement d'un caractère dans une fenêtre.

Exemple

Pour plus d'informations sur l'instruction WinGetXPos, reportez-vous à la section Exemple.

Codes retour

Voir aussi

WinGetXPos


WinGoToXY

Description

Déplace le pointeur.

Syntaxe

FUNCTION WinGoToXY(VAL whdl: WINDOW, VAL xLoc, yLoc:
 INTEGER): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre dans laquelle l'opération doit être effectuée.
xLoc Nouvelle abscisse de l'emplacement en cours du pointeur.
yLoc Nouvelle ordonnée de l'emplacement en cours du pointeur.

Exemple

WHEN $Event IS $MsgChar THEN
 WHEN $EventParm(1,INTEGER) IS $KeyUpArrow THEN
                 WinGoToXY(Handle,$WinX($Handle),$WinY($Handle)-1);
 ELSWHEN $KeyRightArrow THEN
 WinGoToXY(Handle,$WinX($Handle)+1,$WinY($Handle));
              END;
              END;

Codes retour

Voir aussi


WinHeight

Description

Recherche la hauteur d'une fenêtre et la renvoie, exprimée en cellules de caractères.

Syntaxe

FUNCTION WinHeight(VAL whdl: WINDOW): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre dans laquelle l'opération doit être effectuée.

Remarques

WinHeight renvoie la hauteur de la surface utile en cours d'une fenêtre donnée.

Exemple

WinCreateMouseZone($Handle,1,1,
                   WinWidth($Handle),WinHeight($Handle),1);

Codes retour

Voir aussi


WinLoadMenuBar

Description

Charge un menu à partir d'un fichier ressource et l'associe à une fenêtre spécifique. Tout menu précédemment associé est remplacé.

Syntaxe

FUNCTION WinLoadMenuBar(VAL win: WINDOW,
                        VAL resource : STRING
                    ): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
win Formulaire, fenêtre générique, défilante ou hypertexte.
resource Chaîne de ressources au format standard.

Remarques

Pour associer un menu à un formulaire, vous pouvez aussi attribuer au menu le même nom que le formulaire du même fichier .df. Le menu est chargé automatiquement si le formulaire a le style du menu.

Exemple

KNOWLEDGEBASE loadmenu;
    ROUTINES
PROCEDURE Main;
(* ***** PERSONNEL ***** *)
PRIVATE
 VARIABLES
 (* Global Variable to hold the Window handle of the window *)
 mainWindow : WINDOW;
    ROUTINES
PROCEDURE Main IS
 VARIABLES
ACTIONS
 WinCreate($Desktop, mainWindow, $NullHandler, 10, 10, 80, 25, 'Test Window', $WinDefaultStyle);
 (*load the menu with id MAIN_MENU from the file loadmenu.df *)
 WinLoadMenuBar(mainWindow, 'loadmenu[MAIN_MENU]');
 WinWait(mainWindow);
              END;

Codes retour

Voir aussi


WinLoadPopupMenu

Description

Charge une ressource de menu à partir d'un fichier .df et l'associe en tant que menu en incrustation à la fenêtre en remplaçant tout menu en incrustation existant. Il s'affiche automatiquement et répond au comportement de la souris conforme à la plateforme. Les sélections effectuées à partir du menu en incrustation sont indiquées par $MsgMenu.

Syntaxe

FUNCTION WinLoadPopupMenu( VAL whdl: WINDOW,
                          VAL menu: STRING,
                    ): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur du formulaire de boîte de dialogue ou de la fenêtre dont le texte du titre doit être modifié.
menu Nom complet du fichier de spécification décrivant le menu au menu créé.

Remarques

Si vous utilisez WinLoadPopupMenu, le menu s'affiche automatiquement lorsque la souris est utilisée de manière conforme à la plateforme. Lorsque l'utilisateur sélectionne une option de menu, un message $MsgMenu est envoyé à la fenêtre. Ce comportement diffère de celui entraîné par l'ancienne fonction WinPopup. Dans le cas de WinPopup, l'utilisateur doit se servir correctement de la souris et appeler WinPopup pour afficher le menu en incrustation. WinPopup renvoie ensuite l'ID de l'option de menu sélectionnée.

Exemple

KNOWLEDGEBASE loadpop;
    ROUTINES
PROCEDURE Main;
(* ***** PERSONNEL ***** *)
PRIVATE
 VARIABLES
 (* Global Variable to hold the Window handle of the window *)
 mainWindow : WINDOW;
    ROUTINES
PROCEDURE Main IS
 VARIABLES
ACTIONS
 WinCreate($Desktop, mainWindow, $NullHandler, 10, 10, 80, 25, 'Test Window', $WinDefaultStyle);
 (* load the menu with id MAIN_MENU from the file loadmenu.df *)
 WinLoadPopupMenu(mainWindow, 'loadmenu[MAIN_MENU]');
 WinWait(mainWindow);
              END;

Codes retour

Voir aussi

WinSetPopupMenu


WinLoadToolBar

Description

Charge une barre d'outils à partir d'un fichier ressource et l'associe à une fenêtre spécifique. Toute barre d'outils précédemment associée est remplacée.

Syntaxe

FUNCTION WinLoadToolBar(VAL win: WINDOW,
 VAL resource : STRING
                    ): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
win Formulaire, fenêtre générique, défilante ou hypertexte.
resource Chaîne de ressource au format standard.

Remarques

Pour associer une barre d'outils à un formulaire, attribuez à une barre d'outils le même nom que le formulaire du même fichier .df. La barre d'outils est chargée automatiquement si le formulaire a le style de la barre d'outils.

Exemple

KNOWLEDGEBASE loadtool;
    ROUTINES
PROCEDURE Main;
(* ***** PERSONNEL ***** *)
PRIVATE
 VARIABLES
 (* Global Variable to hold the Window handle of the window *)
 mainWindow : WINDOW;
    ROUTINES
PROCEDURE Main IS
 VARIABLES
ACTIONS
 WinCreate($Desktop, mainWindow, $NullHandler, 10, 10, 80, 25, 'Test Window', $WinDefaultStyle);
 (* load the toolbar with id MAIN_TOOLBAR from the file loadtool.df *)
 WinLoadToolBar(mainWindow, 'loadtool[MAIN_TOOLBAR]');
 WinWait(mainWindow);
              END;

Codes retour

Voir aussi


WinMenuCheckItem

Description

Définit l'état sélectionné d'une option de menu.

Syntaxe

FUNCTION WinMenuCheckItem(VAL whdl: WINDOW,
                          VAL id: STRING,
                          VAL newState: BOOLEAN): INTEGER;
FUNCTION WinMenuCheckItem(VAL whdl: WINDOW,
                          VAL id: INTEGER,
                          VAL newState: BOOLEAN): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur d'une fenêtre présentant une barre de menu.
id ID de l'option de menu à définir.
newState Nouvel état de l'option de menu.

Remarques

WinMenuCheckItem permet de sélectionner et de désélectionner une option de menu. Le statut en cours sélectionné d'une option donnée peut être testé lorsque vous appelez WinMenuItemIsChecked.

Remarque : Les options de menu peuvent être identifiées avec des chaînes ou des entiers.

Exemple

WinMenuCheckItem($Handle,204,TRUE);

Codes retour

Voir aussi


WinMenuEnableItem

Description

Définit l'état activé ou désactivé d'une option de menu.

Syntaxe

FUNCTION WinMenuEnableItem(VAL whdl: WINDOW,
                           VAL id: STRING,
                           VAL newState: BOOLEAN): INTEGER;
FUNCTION WinMenuEnableItem(VAL whdl: WINDOW,
                           VAL id: INTEGER,
                           VAL newState: BOOLEAN): INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur d'une fenêtre présentant une barre de menu.
id ID de l'option de menu à définir.
newState Nouvel état de l'option de menu.

Remarques

WinMenuEnableItem permet d'activer ou de désactiver une option de menu. Les options désactivées ne peuvent pas être sélectionnées. La constante $SysMenuCloseItem permet d'activer ou de désactiver l'option de fermeture d'un menu système d'une fenêtre de la manière suivante :

(* This line enables the Close item *)
WinMenuEnableItem (myWindow, $SysMenuCloseItem, TRUE);
(* This line disables the Close item *)
WinMenuEnableItem (myWindow, $SysMenuCloseItem, FALSE);

Remarque : Les options de menu peuvent être identifiées avec des chaînes ou des entiers.

Exemple

WinMenuEnableItem($Handle,204,TRUE);

Codes retour

Voir aussi


WinMenuItemIsChecked

Description

Vérifie si une option de menu est actuellement sélectionnée.

Syntaxe

FUNCTION WinMenuItemIsChecked(VAL whdl: WINDOW,
                              VAL id: STRING): BOOLEAN;
FUNCTION WinMenuItemIsChecked(VAL whdl: WINDOW,
                              VAL id: INTEGER): BOOLEAN;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur d'une fenêtre présentant une barre de menu.
id ID de l'option de menu à définir.

Remarques

TSD Script permet de configurer une barre de menus comportant des options. Vous pouvez vérifier si une option de menu donnée est sélectionnée en appelant WinMenuItemIsChecked et en transmettant deux éléments :

Remarque : Les options de menu peuvent être identifiées avec des chaînes ou des entiers.

Exemple

IF WinMenuItemIsChecked($Handle,204) THEN
 CarryOutAction;
              END;

Codes retour

Voir aussi


WinMessageBox

Description

Affiche une boîte de message et renvoie une sélection d'utilisateur. (Le texte du message est limité à 512 caractères.)

Syntaxe

FUNCTION WinMessageBox(VAL whdlParent: WINDOW,
                       VAL title: STRING,
                       VAL style: INTEGER,
                       VAL message: STRING): INTEGER;

Avertissement

Gestionnaires d'événements et DDE

N'utilisez pas WinWait lorsque vous traitez un message $MsgDDEInitiate. $MsgDDEInitiate diffuse un message aux applications et verrouille la file d'attente des messages jusqu'à ce qu'une réponse soit renvoyée. Pendant ce temps, l'instruction WinWait lance un gestionnaire d'événements qui attend une réponse de la file d'attente des messages. WinWait empêche les autres applications d'envoyer des messages à la file d'attente. Cela entraîne un blocage et verrouille l'interface utilisateur.

Remarques concernant les arguments

Nom de l'argument Description
whdlParent Parent de la boîte de message. S'il s'agit de $Desktop, la boîte de message ne peut pas être modale.
title Titre affiché sur la barre de titre de la fenêtre. La fenêtre doit pour cela comporter une barre de titre. Utilisez le style $WinTitle.
style Style de la boîte de message. Il s'agit d'un masque de contrôle de données qui détermine l'aspect et le comportement de la boîte de message.
Pour plus d'informations sur les options de style, reportez-vous à la section Remarques.
messageText Texte du message à afficher. Le renvoi à la ligne et la fonction de nouvelle ligne sont pris en charge. Ce texte est limité à 512 caractères.

Remarques

Description d'une boîte de message

Une boîte de message est une boîte de dialogue simple que vous créez à l'aide de WinMessageBox. Il n'est pas nécessaire de créer un fichier .df ou d'utiliser le concepteur d'interfaces (Interface Designer).

Lorsque vous utilisez WinMessageBox, vous pouvez uniquement ajouter un titre, une chaîne de texte (le message) et trois boutons au maximum. Vous ne pouvez pas ajouter d'autres zones de texte ou contrôles.

Personnalisation des boîtes de message

Le style d'une boîte de message comprend les paramètres suivants :

Nom du style Description
Style du bouton Indique les différents styles de boutons figurant dans une boîte de message.
Style d'icône Indique un type d'icône à afficher dans la boîte de message.
Bouton par défaut Indique les boutons à définir par défaut.
Mode Indique la modalité de la boîte de message. Cela détermine si l'utilisateur peut effectuer une autre action avant de répondre à la boîte de message.
Titre Si vous souhaitez ajouter une barre de titre à une fenêtre sous OS/2, vous devez indiquer la constante $WinTitle. Sous Windows, toutes les fenêtres présentent automatiquement une barre de titre.

Pour créer le style d'une boîte de message, choisissez l'un des styles de bouton suivants :

Ne choisissez aucun style ou choisissez plusieurs styles d'icône parmi les suivants :

Ne choisissez aucun bouton ou choisissez l'un des boutons par défaut suivants :

Ne choisissez aucun mode ou choisissez l'un des modes suivants :

Si la boîte de message comporte un bouton Annuler, le fait d'appuyer sur la touche Echap ferme la boîte de message et WinMessageBox renvoie $MBResultCancel. S'il n'existe pas de bouton Annuler, la touche Echap n'a aucun effet. $MBResultError est renvoyé uniquement si une erreur interne se produit.

La boîte de message se dimensionne elle-même en fonction du texte du message et de la longueur du titre. Elle peut occuper jusqu'à deux tiers de la hauteur de l'écran.

Exemple

WinMessageBox ($Desktop,'Error',$MBOK+$MBIconError,
               'Unable to open file');

Codes retour

Voir aussi

Pour obtenir une liste des indicateurs de style disponibles, reportez-vous à la section Styles de boîtes de message.


WinParent

Description

Parent de la fenêtre transmise en tant qu'argument.

Syntaxe

FUNCTION WinParent(VAL whdl: WINDOW): WINDOW;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre dont le parent est demandé.

Exemple

 VARIABLES
 parent: WINDOW;
ACTIONS
 parent := WinParent($Handle);

Codes retour

Renvoie le parent de la fenêtre transmise en tant qu'argument.

Voir aussi


WinSetColor

Description

Définit les couleurs courantes d'une fenêtre, à savoir la couleur du texte et la couleur de l'arrière-plan.

Syntaxe

FUNCTION WinSetColor(VAL whdl: WINDOW, VAL foreGround:
                     INTEGER; VAL backGround: INTEGER):
                     INTEGER;

Remarques concernant les arguments

Nom de l'argument Description
whdl Descripteur de la fenêtre dans laquelle l'opération doit être effectuée.
foreGround Nouvelle couleur d'avant-plan. Reportez-vous à la section Remarques concernant la liste complète des constantes relatives aux couleurs.
backGround Nouvelle couleur d'arrière-plan. Reportez-vous à la section Remarques concernant la liste complète des constantes relatives aux couleurs.

Remarques

Constantes de couleur prédéfinies

Les constantes de couleur prédéfinies suivantes sont disponibles :

Remarque : $WinDefaultColor sélectionne l'avant-plan et l'arrière-plan par défaut de la fenêtre.

$WinTransparent entraîne l'écriture de texte transparent par toutes les opérations de sortie de texte jusqu'à ce que WinSetColor soit appelé avec $WinOpaque comme couleur d'arrière-plan. Par défaut, le texte est transparent.

$WinOpaque entraîne l'écriture de texte opaque par toutes les opérations de sortie de texte. Cela signifie qu'un rectangle entourant le texte prend la couleur de l'arrière-plan courant. $WinOpaque reste effectif jusqu'à ce que WinSetColor soit appelé avec $WinTransparent comme couleur d'arrière-plan.

Accès aux couleurs définies par le système d'exploitation

Les constantes prédéfinies ci-après permettent d'accéder aux couleurs configurables par l'utilisateur définies par le système d'exploitation :

Exemple

WHEN $Event IS $MsgPaint THEN
 WinSetColor($Handle,$WinWhite,$WinBlack);
    WinClear( $Handle );
              END;

Codes retour

Voir aussi


Tivoli Service Desk 6.0 Developer's Toolkit - Manuel de référence du langage TSD Script

Retour à la page principale

Copyright