Utilisez cette commande pour exécuter une des actions suivantes :
| • |
Créer une nouvelle fenêtre à l’écran; |
| • |
Activer (sélectionner et ramener au premier plan) une enêtre existante; |
| • |
Rendre une fenêtre existante visible ou invisible; |
| • |
Changer le titre ou le rectangle d’une fenêtre existante. |
La commande
APPEARANCE WINDOW ressemble de très près à l’ancienne commande
WINDOW, mais elle est utilisée essentiellement pour la création des fenêtres. Vous pouvez mélanger librement les fonctions et les commandes
WINDOW avec des fenêtres qui ont été créées à l’aide de la commande
APPEARANCE WINDOW. Par exemple, après la création d’une fenêtre avec la commande
APPEARANCE WINDOW, vous pourriez déterminer sa taille à l’aide des fonctions
WINDOW(_width) et
WINDOW(_height).
Vous avez sans doute remarqué que les fenêtres dans la plupart des applications modernes n’ont pas un fond blanc uni. Ceci n’est pas accompli en dessinant dans la fenêtre à l’aide de commandes graphiques, mais par un simple appel au
Theme Manager (Gestionnaire de Thèmes). L’instruction ci-dessous sera utile dans beaucoup de programmes :
Les paramètres dans la commande APPEARANCE WINDOW doivent être spécifiés comme suit. Notez qu’ils sont interprétés légèrement différemment selon que vous créez une nouvelle fenêtre ou que vous en modifiez une déjà existante.
•id
|
un entier positif ou négatif dont la valeur absolue est dans l’intervalle 1 à 2147483647.
|
• titre$
|
une expression chaîne de caractères.
|
• rect
|
un rectangle en coordonnées globales que vous pouvez exprimer avec l’une ou l’autre des formes suivantes :
| (x1,y1)-(x2,y2) |
: Deux points diagonalement opposés. |
| @rectAdresse& |
: Une expression sur un entier long ou un pointeur sur unevariable pointant sur une structure de 8 bits telle qu’une structure de type RECT. |
|
• classeFenetre
|
un entier long non signé qui spécifie la classe de la fenêtre. Ce n’est pas la même valeur que la classe utilisateur du runtime BASIC Standard, mais elle représente plus précisément la couche dans laquelle la fenêtre résidera.
|
Pour créer une variable de classe de fenêtre, utilisez la syntaxe suivante :
DIM wc AS WindowClass
Le tableau des classes de fenêtre ci-dessous introduit de nouveaux termes qui peuvent ne pas être familiers à ceux pour qui OS X est nouveau.
Une fenêtre feuillet (
sheet window) est attachée à une fenêtre-mère. Elle surgit de la barre de titre de la fenêtre-mère pour forcer l’utilisateur à prendre une décision concernant le contenu de la fenêtre-mère.

Fenêtre feuillet
| ClasseFenetre |
Valeur |
Description |
| _kAlertWindowClass |
1 |
Fenêtre d'alerte. |
_kMovableAlertWindowClass
|
2 |
Fenêtre d'alerte déplaçable. |
| _kModalWindowClass |
3 |
Fenêtre modale au niveau du système, non déplaçable. |
| _kMovableModalWindowClass |
4 |
Fenêtre modale au niveau de l'application, déplaçable. |
| _kFloatingWindowClass |
5 |
Fenêtre flottant au-dessus de toutes les autres fenêtres de l'application. Disponible avec le système 8.6 ou ultérieur. |
| _kDocumentWindowClass |
6 |
Fenêtre document. |
| _kDesktopWindowClass |
7 |
Le bureau. |
| _kHelpWindowClass |
10 |
Fenêtre d'aide. |
| _kSheetWindowClass |
11 |
Fenêtre feuillet. |
| _kToolbarWindowClass |
12 |
Fenêtre flottant au-dessus des fenêtres documents, mais dessous les palettes flottantes. |
| _kPlainWindowClass |
13 |
Fenêtre vierge. |
| _kOverlayWindowClass |
14 |
|
| _kSheetAlertWindowClass |
15 |
Fenêtre feuillet d'alerte. |
| _kAltPlainWindowClass |
16 |
Fenêtre d'alerte vierge. |
•
attributsFenetre : cet entier long non signé décrit les caractéristiques et les éléments d’interface disponibles pour une fenêtre tels que case de fermeture, case d’agrandissement, ou encore case de réduction.
Vous pouvez déclarer une variable
attributsFenetre de la manière suivante :
DIM wa AS WindowAttributes
L’apparence des éléments d’interface d’une fenêtre variera d’une version du système à une autre. Par exemple, avec le Système 9, les cases de zoom vertical, horizontal ou total ont une représentation distincte. Avec OS X, il n’y a pas de différence visible.

Zoom vertical, horizontal et total dans le Système 9

Zoom dans OS-X
attributsFenetre
|
Valeur
|
Description
|
_kWindowNoAttributes |
0 |
Aucun attribut. |
| _kWindowCloseBoxAttribute |
1 |
Case de fermeture. |
_kWindowHorizontalZoomAttribute
|
2 |
Zoom horizontal. |
| _kWindowVerticalZoomAttribute |
4 |
Zoom vertical. |
| _kWindowFullZoomAttribute |
6 |
Zoom total. |
| _kWindowCollapseBoxAttribute |
8 |
Case de réduction (place dans le Dock avec OS X) |
| _kWindowResizableAttribute |
16 |
Case d'agrandissement. |
| _kWindowSideTitlebarAttribute |
32 |
Titre sur le côté pour les fenêtres flottantes. |
| _kWindowNoUpdatesAttribute |
65536 |
Ne reçoit aucun événement de mise à jour. |
| _kWindowActivatesAttribute |
131072 |
Ne reçoit aucun événement d'activation. |
| _kWindowToolbarButtonAttribute |
64
|
Possède un bouton outil dans la barre de titre. |
| _kWindowNoShadowAttribute |
2097152 |
Pas d'ombre portée. |
| _kWindowLiveResizeAttribute |
268435456 |
Evénements de redimensionnement envoyés de manière répétitive durant le redimensionnement. |
| _kWindowStandardDocumentAttributes |
31 |
Case de fermeture, case de zoom, case de réduction, case d'agrandissement. |
_kWindowStandardFloatingAttributes
|
9 |
Case de fermeture, case de réduction. |
•
attributsFB Cet entier long assigne des procédures qui seront utilisées par le runtime pour gérer la fenêtre. Certaines caractéristiques utilisées par le runtime BASIC Standard ne sont pas disponibles avec le runtime Appearance. Par exemple,
_noAutoClip.
| Constante |
Valeur |
Attribut FB |
_updateVisRgn
|
2048 |
Cet attribut affecte la région d'affichage lorsque FutureBASIC^3 appellera votre gestionnaire d'événement de dialogue à la suite d'un événement de mise à jour (_wndRefresh). Si vous spécifiez cet attribut, la région d'affichage sera définie pour inclure seulement les parties de la fenêtre qui sont identifiées comme ayant réellement besoin d'être redessinées (la région d'affichage sera réinitialisée à sa valeur précédente à la sortie de la routine gestionnaire). Si vous omettez cet attribut, la région d'affichage sera définie pour inclure la fenêtre entière à l'exclusion éventuelle des contrôles et des champs.
|
| _clickThru |
4096 |
Cet attribut affecte la manière dont les clics sont traités lorsque votre programme active une fenêtre en réponse à un événement _wndClick. Si l'attribut _clickThru a été assigné, le clic d'activation est "prolongé", cela peut provoquer la génération d'autres événements (tels que _btnClick ou _efClick), selon l'endroit où le clic a eu lieu. Si vous omettez cet attribut, deux clics seront nécessaires pour activer la fenêtre, puis pour interagir avec son contenu.
|
| _noAutoFocus |
32768 |
Utilisez cet attribut pour empêcher la touche de tabulation de faire avancer la zone de saisie de texte au champ d'édition suivant.
|
| _keepInactive |
65536 |
Cet attribut assure que la fenêtre ne pourra être rendue active. Les contrôles dans cette fenêtre ne fonctionneront pas. Si vous rendez la fenêtre active par programmation (avec la commande WINDOW), elle se comportera de manière normale.
|
Création d’une fenêtre
| • id |
Spécifiez un identifiant dont la valeur absolue est différente de tout autre identifiant de fenêtre existant. Une nouvelle fenêtre est créée et se voit assigner cette valeur absolue comme identifiant. Vous pourrez utiliser cet identifiant ultérieurement pour spécifier cette fenêtre dans les autres commandes et fonctions de FB^3. Si vous utilisez un identifiant négatif, la fenêtre est construite dans un état invisible; il est quelquefois utile de créer une fenêtre initialement masquée, par exemple, si elle doit contenir des contrôles, des champs et des graphiques qui peuvent prendre un certain temps à construire. Vous pouvez utiliser de nouveau la commande WINDOW pour rendre la fenêtre visible (voir ci-dessous). Lorsque vous créez une nouvelle fenêtre, elle devient la fenêtre d’affichage courant. Si vous la créez dans un état visible (et que vous ne spécifiez pas l’attribut _keepInBack), elle devient aussi la fenêtre active courante.
|
| • titre$ |
Attribue une chaîne de caractères à la barre de titre de la fenêtre (si la fenêtre possède une barre de titre). Si vous omettez ce paramètre, la fenêtre sera créée sans titre.
|
| • rect |
Spécifie les taille et position initiales du contenu de la fenêtre. Notez que le rectangle n’inclue pas le cadre structurel de la fenêtre. Ce paramètre est interprété de manière spéciale si vous spécifiez les coordonnées (0,0) pour le coin haut et gauche du rectangle, auquel cas, la fenêtre est centrée à l’écran et ses largeur et hauteur seront déterminées par les coordonnées bas et droite du rectangle. Cette interprétation spéciale ne s’applique que lors de la création d’une nouvelle fenêtre. Si vous omettez le paramètre rect, une fenêtre avec une taille et une position par défaut est créée.
|
| • classeFenetre |
Spécifie la couche dans laquelle la fenêtre résidera.
|
| • attributsFenetre |
Spécifie les éléments d’interface que la fenêtre incluera.
|
| • attributsFB |
Spécifie des gestionnaires spécifiques du runtime qui détermineront un certain nombre de comportements de la fenêtre.
|
Voir Aussi :