BUTTON commande

Syntaxe :

Pour créer un bouton :

BUTTON [#]btnID,etat,titre,rectBtn [,typeBtn]

Pour modifier un bouton :

BUTTON [#]btnID [,[etat][,[titre][,rectBtn]]]

Pour masquer un bouton (runtime Appearance seulement):

BUTTON [#]-btnID

Révision :

Février 2002 (Release 6)

Description :

La commande BUTTON place un nouveau bouton dans la fenêtre de sortie courante, ou bien elle modifie les caractéristiques d’un bouton déjà existant. Après la création d’un bouton par la commande BUTTON, vous pouvez utiliser la fonction DIALOG pour déterminer si l’utilisateur a cliqué dessus. Vous pouvez utiliser la commande BUTTON CLOSE si vous voulez supprimer le bouton sans fermer la fenêtre.

Avec le runtime Appearance, vous pouvez masquer un bouton existant au moyen de la commande BUTTON en spécifiant un numéro identifiant négatif. Vous pouvez également désactiver un contrôle avec soit :

  BUTTON 1, _grayBtn
ou
  APPEARANCE BUTTON 1, _grayBtn

Lorsque vous créez pour la première fois un bouton avec un identifiant donné (btnID) dans une fenêtre donnée, vous devez spécifier tous les paramètres jusqu’à et y compris rectBtn (le paramètre typeBtn est optionnel; par défaut, il est fixé à _push). Si, plus tard, vous souhaitez modifier les caractéristiques du bouton, vous devez exécuter la commande BUTTON une nouvelle fois avec le même identifiant, en spécifiant un ou plusieurs des paramètres (sauf typeBtn, qui ne peut être changé). Le bouton sera redessiné avec les caractéristiques que vous aurez spécifiées, les paramètres que vous n’aurez pas spécifiés ne seront pas modifiés.


Paramètre Description
btnID Un numéro identifiant dans l'intervalle 0..8191 que vous assignez quand vous créez le bouton et auquel vous vous référez pour modifier ou fermer le bouton. Le numéro que vous attribuez doit être différent de tous les numéros des autres boutons et barres de défilement existants de la fenêtre courante.
etat Assigne l'état du bouton
0 (_grayBtn) Bouton inactif (grisé)
1 (_activeBtn) Bouton actif, non sélectionné
2 (_markedBtn) Bouton actif et sélectionné.
titre$ Le texte qui apparaît à l'intérieur du bouton (dans le cas des boutons poussoirs) ou à la droite (dans le cas des cases à cocher et des boutons radio).
rectBtn Le rectangle entourant le bouton. Il peut être spécifié de deux façons : (x1,y1)-(x2,y2) coordonnées de deux coins opposés. adrRect& adresse d'une structure rectangle sur 8 octets.
typeBtn Spécifie le type de bouton :
1 (_push) Bouton poussoir (type par défaut)
2 (_checkbox) Case à cocher
3 (_radio) Bouton radio
4 (_shadow) Bouton poussoir surligné.
Si vous ajoutez la constante _useWFont à l'un des types ci-dessus (à l'exception de _shadow), alors l'intitulé du bouton sera dessiné en utilisant l'identifiant, la taille et le style de la police active dans la fenêtre courante. Tous les changements ultérieurs que vous ferez concernant la police de caractères de cette fenêtre se reflèteront, au rafraîchissement suivant, dans le titre du bouton. Si vous ne spécifiez pas _useWFont (sou si le bouton est du type _shadow), alors le titre sera dessiné avec la police système.

Utilisation de la Définition de Contrôle spéciale de FutureBASIC (CDEF)

Vous pouvez personnaliser l’apparence et l’action des boutons en ajoutant la ressource de code spéciale appelée CDEF à la partie ressource de votre application. FB^3 fournit une telle ressource CDEF qui dessine plusieurs variantes de boutons. Pour inclure cette CDEF dans la partie ressource de votre application, ajoutez le drapeau _IncludeCDEF à la commande COMPILE.

Vous pouvez créer des boutons qui utilisent cette CDEF de FutureBASIC en donnant des valeurs spéciales au paramètre typeBtn, comme il est résumé dans la table ci-dessous :

typeBtn Type de bouton dessiné :
_CDEFBaseID + _push
_CDEFBaseID + _checkbox
_CDEFBaseID + _radio
_CDEFBaseID + _shadow
La valeur de typeBtn produit des boutons qui sont similaires aux types de boutons du système, mais qui utilisent la police Geneva 9 points plutôt que la police système.
_CDEFBaseID + _push + _CDEFnoOutline
_CDEFBaseID + _checkbox + _CDEFnoOutilne
_CDEFBaseID + _radio + CDEFnoOutline
_CDEFBaseID + _shadow + _CDEFnoOutline

La CDEF personnalisée intégrée à FutureBASIC utilise par défaut la police Geneva en 9 points. Si vous ajoutez la constante _useWFont à n’importe quel type de bouton de la table ci-dessus, le bouton utilisera l’identifiant, la taille et le style de la police active au moment de la création du bouton. À la différence des boutons standards du système, les boutons _CDEFBaseID qui spécifient _useWFont ne changeront pas leurs caractéristiques de police après qu’ils auront été créés, même si la police de la fenêtre est changée.

Utilisation de vos CDEFs personnalisées

Si vous avez une ressource CDEF personnalisée de votre cru et que vous voulez l’installer dans votre application, vous devez la copier et la coller dans le fichier de ressources référencé par la commande RESOURCES dans votre programme. L’identifiant de vos ressources CDEFs ne doit pas être égal à zéro (ce numéro est réservé pour la CDEF du système) ni être égal à 8 (qui est l’identifiant de la ressource CDEF spéciale utilisée par FB). Pour créer un bouton qui utilise votre CDEF personnalisée, vous devez assigner une valeur à btnType calculée selon la formule suivante :

btnType = CDEFresourceID * 16 + varianteBtn + 1

Lorsque votre bouton personnalisé est créé, les valeurs que vous spécifiez pour les paramètres titre$ et btnRect seront stockées dans les champs contrlTitle et contrlRect du “record de contrôle” du bouton. Si vous spécifiez une valeur de zéro pour etat, le champ contrlValue du “record de contrôle” sera mis à zéro et le champ contrlHilite sera mis à 255. Si vous spécifiez n’importe quelle autre valeur pour etat, le champ contrlValue sera mis à etat–1, et le champ contrlHilite sera mis à zéro. Voyez le chapitre Control Manager dans Inside Macintosh: Macintosh Toolbox Essentials pour plus d’informations.

Voir Aussi :

AUTOCLIP; BUTTON& fonction; BUTTON fonction; BUTTON CLOSE; SCROLL BUTTON; DIALOG fonction