  NOM
    menubutton - Crée et manipule les widgets menubutton
  SYNTAXE
    menubutton pathName ?options?
  OPTIONS STANDARD
    -activebackground, activeBackground, Foreground
    -activeforeground, activeForeground, Background
    -anchor, anchor, Anchor
    -background ou -bg, background, Background
    -bitmap, bitmap, Bitmap
    -borderwidth ou -bd, borderWidth, BorderWidth
    -cursor, cursor, Cursor
    -disabledforeground, disabledForeground, DisabledForeground
    -font, font, Font
    -foreground ou -fg, foreground, Foreground
    -highlightbackground, highlightBackground, HighlightBackground
    -highlightcolor, highlightColor, HighlightColor
    -highlightthickness, highlightThickness, HighlightThickness
    -image, image, Image
    -justify, justify, Justify
    -padx, padX, Pad
    -pady, padY, Pad
    -relief, relief, Relief
    -takefocus, takeFocus, TakeFocus
    -text, text, Text
    -textvariable, textVariable, Variable
    -underline, underline, Underline
    -wraplength, wrapLength, WrapLength
  OPTIONS SPECIFIQUES AU WIDGET
    -compound, compound, Compound
    -direction, direction, Height
    -hauteur, hauteur, Height
    -indicatoron, indicatorOn, IndicatorOn
    -menu, menu, MenuName
    -state, state, State
    -width, width, Width
  INTRODUCTION
  COMMANDES DE WIDGET
    pathName cget option
    pathName configure ?option? ?valeur option valeur ...?
  BINDINGS PAR DEFAUT
  MOTS-CLES

### NOM

menubutton - Crée et manipule les widgets menubutton

### SYNTAXE

menubutton pathName ?options?

### OPTIONS STANDARD

-activebackground, activeBackground, Foreground
-activeforeground, activeForeground, Background
-anchor, anchor, Anchor
-background ou -bg, background, Background
-bitmap, bitmap, Bitmap
-borderwidth ou -bd, borderWidth, BorderWidth
-cursor, cursor, Cursor
-disabledforeground, disabledForeground, DisabledForeground
-font, font, Font
-foreground ou -fg, foreground, Foreground
-highlightbackground, highlightBackground, HighlightBackground
-highlightcolor, highlightColor, HighlightColor
-highlightthickness, highlightThickness, HighlightThickness
-image, image, Image
-justify, justify, Justify
-padx, padX, Pad
-pady, padY, Pad
-relief, relief, Relief
-takefocus, takeFocus, TakeFocus
-text, text, Text
-textvariable, textVariable, Variable
-underline, underline, Underline
-wraplength, wrapLength, WrapLength

### OPTIONS SPECIFIQUES AU WIDGET

Command-Line Name: -compound
Database Name: compound
Database Class: Compound
  Indique si le menubutton devra afficher à la fois une image et du texte, et si c'est le cas, où l'image doit être placée par rapport au texte. Les valeurs Valides pour cette cette option sont bottom, center, left, none, right et top. La valeur par défaut est none, signifiant que le menubutton affichera soit une image ou du texte, dépendant des valeurs des options -image et -bitmap.

Command-Line Name: -direction
Database Name: direction
Database Class: Height
  Indique où le menu doit apparaître. above tente de faire surgir le menu au dessus du menubutton. under tente de faire surgir le menu en dessous du menubutton. left tente de faire surgir le menu à gauche du menubutton. right tente de faire surgir le menu à droite du menubutton. flush fait surgir le menu directement au-dessus du menubutton.

Command-Line Name: -height
Database Name: height
Database Class: Height
  Indique la hauteur désirée du menubutton. Si une image ou un bitmap est affiché dans le menubutton alors la valeur est en unités d'ecrans (c.a.d. n'importe quelle des formes acceptables par Tk_GetPixels); pour le texte elle est en lignes de texte. Si cette option n'est pas spécifiée, la hauteur désirée du menubutton est calculée à partir de la taille de l'image ou bitmap ou du texte affiché à l'interieur.

Command-Line Name: -indicatoron
Database Name: indicatorOn
Database Class: IndicatorOn
  La valeur doit être une valeur booléenne correcte. Si elle est true alors un petit rectangle sera affiché sur le coté droit du menubutton et les bindings par défaut du menu le traiteront comme un menubutton à options. Si false alors aucun indicateur ne sera affiché.

Command-Line Name: -menu
Database Name: menu
Database Class: MenuName
  Indique le nom de chemin du menu associé à ce menubutton. Le menu doit être un enfant du menubutton.

Command-Line Name: -state
Database Name: state
Database Class: State
  Indique un des trois états du menubutton: normal, active, ou disabled. Dans l'état normal le menubutton est affiché en utilisant les options foreground et background. L'état actif est généralement utilisé quand le pointeur est au-dessus du menubutton. Dans l'état actif le menubutton est affiché en utilisant les options activeForeground et activeBackground. L'état désactivé signifie que le menubutton doit être insensible: les bindings par défaut refuseront d'activer le widget et ignoreront les clics de souris. Dans cet état les options disabledForeground et background déterminent comment le bouton est affiché.

Command-Line Name: -width
Database Name: width
Database Class: Width
  Indique la largeur désirée du menubutton. Si une image ou un bitmap est affiché dans le menubutton alors la valeur est en unités d'ecrans (c.a.d. n'importe quelle des formes acceptables par Tk_GetPixels); pour le texte il est en caractères. Si cette option n'est pas spécifiée, la largeur désirée du menubutton est calculée à partir de la taille de l'image du bitmap ou du texte affiché à l'interieur.

### INTRODUCTION

La commande menubutton crée une nouvelle fenêtre (indiquée par l'argument pathName) en en fait un widget menubutton. Des options supplémentaires, décrites ci-dessus, peuvent être spécifiées sur la ligne de commande ou dans la base de données d'options pour configurer les aspects du menubutton comme ses couleurs, fontes, texte, et relief initial. La commande menubutton retourne son argumentpathName. A l'instant ou cette commande est appelée, il ne doit pas exister de fenêtre nommée pathName, mais son parent doit exister.

A menubutton est un widget qui affiche une chaîne de texte, bitmap, ou image et est associé à un widget menu. Si du texte est affiché, il doit être d'une seule fonte, mais il peut occuper plusieurs lignes sur l'écran (si il contient des newlines ou si le retour à la ligne se produit à cause de l'option wrapLength) et un des caractères peut éventuellement être souligné en utilisant l' option underline. En usage normal, l'appui sur le bouton1 de la souris au-dessus du menubutton provoque l'affichage du menu associé just en dessous du menubutton. Si la souris est déplacée au-dessus du menu avant le relachement du bouton, le relachement provoque l'appel de l'entrée de menu sous-jacente. Quand le bouton est relaché, le menu est caché.

Les menubuttons sont généralement organisés en groupes appelés barres de menu qui permettent un balayage: si le bouton de souris est enfoncé au-dessus d'un menubutton (provoquant l'apparition de son menu) et la souris déplcée au-dessus d'un autre menubutton dans la même barre de menu sans relacher le bouton de souris, alors le menu du premier menubutton est caché et le menu du nouveau menubutton est affiché à la place.

Il y a plusieurs interactions entre les menubuttons et les menus; voir la page de manuel menu pour une information sur les diverses configurations de menu, comme les menus déroulants et les menus à options.

### COMMANDES DE WIDGET

La commande menubutton crée une nouvelle commande Tcl dont le nom est pathName. Cette commande peut être utilisée pour appeler diverses opérations sur le widget. Elle a la forme générale suivante:

    pathName option ?arg arg ...?

Option et args déterminent le comportement exact de la commande. Les commandes suivantes sont possibles pour les widgets menubutton:

pathName cget option
  Retourne la valeur courante de l'option de configuration indiquée par option. Option peut prendre n'importe quelle des valeurs acceptées par la commande menubutton.

pathName configure ?option? ?valeur option valeur ...?
  Interroge ou modifie les options de configuration du widget. Si aucune option n'est spécifiée, retourne une liste décrivant toutes les options disponibles pour pathName (voir Tk_ConfigureInfo pour une information sur le format de cette liste). Si option est spécifié sans valeur, alors la commande retourne une liste décrivant l'option désignée (cette liste sera identique à la correspondante sous-liste de la valeur retournée si aucune option n'est spécifiée). Si une ou plusieurs paires option-valeur sont spécifiées, alors la commande donne aux option(s) les valeur(s) indiquées; dans ce cas la commande retourne une chaîne vide. Option peut prendre n'importe quelle des valeurs acceptées par la commande menubutton.

### BINDINGS PAR DEFAUT

Tk automatiquement crée des bindings de classe pour les menubuttons qui leur donne le comportement par défaut suivant:

[1]
  Un menubutton s'active chaque fois que la souris passes au-dessus et se désactive chaque fois que la souris le quitte.

[2]
  Enfoncer le bouton1 de la souris au-dessus d'un menubutton affiche le menubutton: son relief devient èlevé et son menu associé est affiché sous le menubutton. Si la souris est déplacée vers le bas dans le menu avec le bouton enfoncé, et si le bouton de souris est ensuite relaché au-dessus d'une entrée du menu, le menubutton est caché et l'entrée de menu est appelée.

[3]
  Si le bouton1 est enfoncé au-dessus d'un menubutton et ensuite relaché au-dessus de ce menubutton, le menubutton reste affiché: vous pouvez toujours déplacer la souris au-dessus du menu et cliquer avec le bouton1 sur une entrée pour l'appeler. Une fois qu'une entrée de menu a été appelée, le menubutton perd le focus.

[4]
  Si le bouton1 est enfoncé au-dessus d'un menubutton et ensuite déplacé au-dessus d'un autre menubutton, le menubutton original perd le focus et le nouveau menubutton le prend.

[5]
  Si le bouton1 est enfoncé au-dessus d'un menubutton et relaché en dehors de tout menubutton ou menu, le menubutton perd le focus sans appeller quelconque entrée de menu.

[6]
  Quand un menubutton est affiché, son menu associé demande le focus pour permettre le parcours du menu et de ses sous-menus. Voir la page de manuel menu pour les détails sur ces bindings.

[7]
  Si l'option underline a été spécifiée pour un menubutton alors le clavier peut être utilisé pour donner le focus au menubutton: Alt+x, où x est le caractère souligné (ou son équivalent majuscule ou minuscule), peut être tapé dans toute fenêtre de la toplevel du menubutton pour lui donner le focus.

[8]
  La touche F10 peut être tapée dans n'importe quelle fenêtre pour donner le focus au premier menubutton de la toplevel qui n'est pas desactivé.

[9]
  Si un menubutton a le focus, les touches espace et entrée postent le menubutton.

Si l'état est disabled alors aucune des actions ci-dessus ne se produisent: le menubutton est complètement inerte.

Le comportement des menubuttons peut être changé en définissant de nouveaux bindings pour les widgets individuels ou en redéfinissant les bindings de classe.

### MOTS-CLES

menubutton, widget

    Copyright © 1990-1994 The Regents of the University of California.
    Copyright © 1994-1997 Sun Microsystems, Inc.

    Copyright © 2003 - Le Portail Tcl/Tk Francophone.