LispWorks CAPI/Créer une première fenêtre

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche
LispWorks CAPI
LispWorks CAPI
Sommaire

Modifier ce modèle

Cette section montre comment il est facile de créer une fenêtre simple, et la façon d'inclure des éléments CAPI, tels que des panneaux, dans votre fenêtre.

Entrez les informations suivantes dans le Listener

(make-instance 'interface
               :visible-min-width 200
               :title "Mon interface")

(display *)

Une petite fenêtre apparaît sur votre écran, appelé "Mon interface. C'est le type le plus simple de fenêtre qui peut être créé avec la CAPI.

  • Note: Par défaut, cette fenêtre a une barre de menu avec le menu Works. Le menu Works vous donne accès à une variété d'outils LispWorks, tout comme le menu Works de n'importe quelle fenêtre dans l'IDE LispWorks. Il est automatiquement fournie par défaut pour chaque interface que vous créez. Vous pouvez l'omettre en passant: auto-menus nil.

La manière habituelle pour afficher une instance de CAPI est display. Toutefois, une autre fonction, contain, est fourni pour vous aider au cours du développement.

Notez que la fenêtre "mon interface" ne peut pas être inférieure à la largeur minimale spécifiée. Toutes les valeurs de la géométrie CAPI (taille de la fenêtre et la position) sont des nombres entiers et représentent les valeurs en pixels.

Seul un niveau supérieur d'élément CAPI est démontré par display - qui est, une instance de interface. Pour afficher d'autres éléments CAPI (boutons, par exemple, les panneaux d'édition, et ainsi de suite), vous devez fournir des informations sur la façon dont ils doivent être disposés dans la fenêtre. Un tel arrangement est appelé une mise en page - vous en apprendrez plus sur la mise en page dans la section Aménagement des panneaux du CAPI

D'autre part, contain fournit automatiquement une mise en page par défaut pour tout élément CAPI que vous spécifiez. Au cours du développement, il peut être utile pour l'affichage des différents éléments sur votre écran, sans avoir à leur créer une interface explicitement. Toutefois, contain est fourni uniquement comme un outil de développement, et ne doit pas être utilisé pour la mise en œuvre finale d'un élément de CAPI. Pour connaitre la façon d'afficher les éléments dans une interface CAPI, voir Définir une classe d'interface

Notez qu'un l'affichage du CAPI ne doit être consulté dans son propre lot de message. Voir Le flot correcte des message pour les opérations CAPI pour plus d'informations à ce sujet.

Voici comment vous pouvez créer et afficher un bouton à l'aide de contain.

(make-instance 'push-button
               :data "Button") 

(contain *)

You can click on the button, and it will respond in the way you would expect (it will depress). However, no code will be run which performs an action associated with the button. How to link code to window items is the topic of the next section.

Cela crée une interface qui contient un seul bouton-poussoir, avec une étiquette spécifiée par le mot de :data. Notez que vous pourriez avoir effectué le même exemple en utilisant display, mais vous auriez dû également créer une disposition pour que le bouton dans l'interface pour afficher au bon endroit.

Vous pouvez cliquer sur le bouton, et il répondra de la manière que vous attendez (il va s'abaisser). Toutefois, aucun code sera exécuté puis qu'il n'effectue aucune action associée à cette touche. La façon d'associer du code à un élément de la fenêtre sera discuté dans la prochaine section.