La commande
SCROLL BUTTON place une nouvelle barre de défilement dans la fenêtre d’affichage courante, ou bien modifie les caractéristiques d’une barre de défilement déjà existante. Les paramètres sont interprétés comme suit :
| Paramètre |
Description |
| idExpr |
Un entier qui identifie la barre de défilement. Si ABS(idExpr) est différent de tous les numéros identifiants de tous les boutons et de toutes les autres barres de défilement, une nouvelle barre de défilement est créée, et un numéro identifiant égal à ABS(idExpr) lui est assigné. Si ABS(idExpr) est égal à un numéro identifiant d'une barre de défilement existante, ses caractéristiques seront modifiées. Utilisez une valeur négative pour idExpr afin de lier la barre de défilement au champ d'édition (voir les explications plus bas). |
| valCourante |
Ce paramètre attribue la "valeur" courante de la barre de défilement, qui, avec les paramètres min et max, déterminent la position du curseur de défilement. Cette valeur doit être supérieure ou égale à min, et inférieure ou égale à max. |
| min |
Ceci est la valeur minimum que la barre de défilement peut avoir. Pour des barres de défilement verticales, cela correspond à la position du curseur de défilement tout en haut de la barre; pour des barres horizontales, cela correspond à la position du curseur de défilement à l'extrêmité gauche de la barre. min doit être compris dans l'intervalle –32768 à +32767. |
| max |
Ceci est la valeur maximum que la barre de défilement peut avoir. Pour des barres de défilement verticales, cela correspond à la position du curseur de défilement tout en bas de la barre; pour des barres de défilement horizontales, cela correspond à la position du curseur de défilement à l'extrêmité droite de la barre. max doit être compris dans l'intervalle –32768 à +32767. |
| page |
Ce paramètre spécifie la quantité avec laquelle la valeur de la barre de défilement doit changer lorsque l'utilisateur clique dans les zones situées entre le curseur de défilement et les flèches aux extrêmités de la barre de défilement. Ce ne doit pas être un nombre négatif. |
| rect |
Pour les barres de défilement de type _scrollOther, le paramètre rect spécifie le rectangle qui définit la taille et la position de la barre de défilement. Vous pouvez spécifier ce paramètre de deux façons différentes :
| (x1,y1)-(x2,y2) |
Coordonnées de deux points diagonalement opposés. |
| adrRect& |
Adresse d'une structure rectangle de 8 octets. |
Si le rectangle spécifié est plus large que haut, la barre de défilement sera une barre horizontale. Si le rectangle est plus haut que large, la barre de défilement sera une barre verticale. La largeur standard pour les barres verticales (ou la hauteur standard pour des barres de défilement horizontales) est de 16 pixels.
Note : Pour les barres de défilement de type _scrollHorz ou _scrollVert, le paramètre rect est interprété différemment. Voyez ci-dessous pour plus de détails. |
| type |
Spécifiez l'une des constantes suivantes :
| _scrollOther |
La barre de défilement occupe le rectangle spécifié par le paramètre rect. |
| _scrollVert |
La barre de défilement occupe le bord droit de la fenêtre, et elle est redimensionnée lorsque la fenêtre est redimensionnée. Si vous spécifiez un paramètre rect lors de la création de la barre de défilement, le haut de la barre sera décalée par rapport au haut de la fenêtre de y1 pixels. |
| _scrollHorz |
La barre de défilement occupe le bord inférieur de la fenêtre, et elle est redimensionnée lorsque la fenêtre est redimensionnée. Si vous spécifiez un paramètre rect lors de la création de la barre de défilement, l'extrêmité gauche de la barre sera décalée de x1 pixels par rapport au bord gauche de la fenêtre. |
Note : Les barres de défilement _scrollVert et _scrollHorz ne peuvent être placées que sur des fenêtres de type _doc, _docZoom et _docNoGrow. Si vous essayez de créer une barre de défilement du type _scrollVert ou _scrollHorz dans tout autre type de fenêtre, la barre de défilement n'apparaîtra pas.
|
Pour Créer une Nouvelle Barre de Défilement :
| • |
Choisissez une valeur pour idExpr telle que ABS(idExpr) soit différent de tous les numéros identifiants de tous les boutons et les barres de défilement qui existent déjà dans la fenêtre. Si vous utilisez une valeur négative pour idExpr, et que la fenêtre contient un champ d’édition stylé non statique dont le numéro identifiant est ABS(idExpr), alors les actions sur la barre de défilement seront liées au champ d’édition (voir les explications ci-dessous). |
| • |
Choisissez des valeurs initiales pour valCourante, min, max et page. Tous ces paramètres sont optionnels; Si vous omettez l’un d’entre eux, il prendra, par défaut, l’une des valeurs initiales qui suivent :
| • |
valCourante = 0 |
| • |
min = 0 |
| • |
max = 255 |
| • |
page = 16 |
|
| • |
Si vous créez une barre de défilement _scrollOther, spécifiez le paramètre rect. Ce paramètre est optionnel, si vous créez une barre de défilement _scrollVert ou _scrollHorz. |
| • |
Spécifiez le paramètre type. Ce paramètre est optionnel; sa valeur par défaut est _scrollOther. |
Pour Modifier une Barre de Défilement Existante :
| • |
Attribuez à idExpr le numéro identifiant d’une barre de défilement qui existe dans la fenêtre. |
| • |
Si vous voulez modifier une ou des valeurs pour valCourante, min, max ou page, spécifiez les paramètres correspondants. Les paramètres que vous omettez auront leur valeur inchangée. |
| • |
Si vous voulez changer le rectangle d’une barre de défilement _scrollOther, spécifiez le nouveau rectangle dans le paramètre rect. Si vous omettez ce paramètre, le rectangle ne sera pas modifié.
Note : le paramètre rect est ignoré lorsque vous modifiez une barre de défilement de type _scrollVert ou _scrollHorz.
|
| • |
Vous ne pouvez pas modifier le type d’une barre de défilement existante. Ce paramètre est ignoré si la barre de défilement existe déjà. |
Pour Activer ou Désactiver une Barre de Défilement :
Vous pouvez utiliser la commande
BUTTON pour activer (mettre en évidence) ou désactiver (estomper) une barre de défilement existante.
• Pour l’activer, utilisez :
BUTTON ascenseurID,
_activeBtn
• Pour la désactiver, utilisez :
BUTTON ascenseurID,
_grayBtn
Pour Lier les Actions sur une Barre de Défilement à un Champ d’Edition
Si vous spécifiez une valeur négative pour
idExpr lorsque vous créez une nouvelle barre de défilement, FB^3 recherche, dans la fenêtre courante, un champ d’édition stylé ( qui peut être statique) dont le numéro identifiant est égal à ABS(
idExpr). Si un tel champ est trouvé, les comportements de la barre de défilement et du champ d’édition sont liés comme suit :
| • |
Quand l’utilisateur (ou votre programme) déplace le curseur de défilement, le texte dans le champ d’édition défile verticalement; |
| • |
Quand l’utilisateur (ou votre programme) modifie le texte dans le champ d’édition, ou bien clique et glisse verticalement dans sa zone de contenu, le curseur de défilement se déplace en correspondance. |
Lorsque vous liez une barre de défilement à un champ d’édition, il est recommandé d’utiliser une barre de défilement verticale. Une barre de défilement horizontale
ne fera
pas défiler le texte horizontalement, et il est probable que cela paraisse étrange à l’utilisateur de votre programme.
Vous ne pouvez pas modifier les paramètres
valCourante,
min ni
max d’une barre de défilement qui est liée à un champ d’édition. Ces valeurs sont automatiquement modifiées de manière dynamique, lorsque la position du texte ou le contenu changent. Vous ne pouvez pas, non plus, utiliser la commande
BUTTON pour activer ou désactiver ce genre de barre de défilement; elle est active quand les lignes de texte ne tiennent pas entièrement dans le rectangle de visibilité du champ, autrement elle est inactive.
Note : Pour lier une barre de défilement à un champ d’édition, vous devez créer
d’abord, le champ d’édition, et en
second lieu la barre de défilement.
Note : Vous ne pouvez lier une barre de défilement qu’à un champ d’édition
stylé (un champ qui a été créé en utilisant une valeur négative pour
idExpr).
Utilisation de la Barre de Défilement
Pour que votre barre de défilement soit opérationnelle, votre programme doit appeler périodiquement la commande
HANDLEEVENTS. Entre autres choses,
HANDLEEVENTS surveille les mouvements et les clics dans la barre de défilement, et déplace le curseur de défilement en réponse aux actions de l’utilisateur. Votre programme peut aussi déplacer le curseur de défilement de manière explicite en réglant la valeur du paramètre
valCourante dans une instruction
SCROLL BUTTON.
Quand l’utilisateur déplace le curseur de défilement, un événement de dialogue du type
_btnClick est généré. La valeur “
id” pour cet événement est égale au numéro identifiant de la barre de défilement. Vous pouvez déterminer la position courante du curseur de défilement en utilisant la fonction
BUTTON :
Pour récupérer plus d’informations concernant une barre de défilement, utilisez la fonction BUTTON& qui retournera son record de contrôle.