menubutton.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:9k
- '"
- '" Copyright (c) 1990-1994 The Regents of the University of California.
- '" Copyright (c) 1994-1997 Sun Microsystems, Inc.
- '"
- '" See the file "license.terms" for information on usage and redistribution
- '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- '"
- '" RCS: @(#) $Id: menubutton.n,v 1.4.4.1 2004/10/28 10:19:29 dkf Exp $
- '"
- .so man.macros
- .TH menubutton n 4.0 Tk "Tk Built-In Commands"
- .BS
- '" Note: do not modify the .SH NAME line immediately below!
- .SH NAME
- menubutton - Create and manipulate menubutton widgets
- .SH SYNOPSIS
- fBmenubuttonfR fIpathName fR?fIoptionsfR?
- .SO
- -activebackground -disabledforeground -padx
- -activeforeground -font -pady
- -anchor -foreground -relief
- -background -highlightbackground -takefocus
- -bitmap -highlightcolor -text
- -borderwidth -highlightthickness -textvariable
- -cursor -image -underline
- -compound -justify -wraplength
- .SE
- .SH "WIDGET-SPECIFIC OPTIONS"
- .OP -direction direction Height
- Specifies where the menu is going to be popup up. fBabovefR tries to
- pop the menu above the menubutton. fBbelowfR tries to pop the menu
- below the menubutton. fBleftfR tries to pop the menu to the left of
- the menubutton. fBrightfR tries to pop the menu to the right of the
- menu button. fBflushfR pops the menu directly over the menubutton.
- In the case of fBabovefR or fBbelowfR, the direction will be
- reversed if the menu would show offscreen.
- .OP -height height Height
- Specifies a desired height for the menubutton.
- If an image or bitmap is being displayed in the menubutton then the value is in
- screen units (i.e. any of the forms acceptable to fBTk_GetPixelsfR);
- for text it is in lines of text.
- If this option isn't specified, the menubutton's desired height is computed
- from the size of the image or bitmap or text being displayed in it.
- .OP -indicatoron indicatorOn IndicatorOn
- The value must be a proper boolean value. If it is true then
- a small indicator rectangle will be displayed on the right side
- of the menubutton and the default menu bindings will treat this
- as an option menubutton. If false then no indicator will be
- displayed.
- .OP -menu menu MenuName
- Specifies the path name of the menu associated with this menubutton.
- The menu must be a child of the menubutton.
- .OP -state state State
- Specifies one of three states for the menubutton: fBnormalfR, fBactivefR,
- or fBdisabledfR. In normal state the menubutton is displayed using the
- fBforegroundfR and fBbackgroundfR options. The active state is
- typically used when the pointer is over the menubutton. In active state
- the menubutton is displayed using the fBactiveForegroundfR and
- fBactiveBackgroundfR options. Disabled state means that the menubutton
- should be insensitive: the default bindings will refuse to activate
- the widget and will ignore mouse button presses.
- In this state the fBdisabledForegroundfR and
- fBbackgroundfR options determine how the button is displayed.
- .OP -width width Width
- Specifies a desired width for the menubutton.
- If an image or bitmap is being displayed in the menubutton then the value is in
- screen units (i.e. any of the forms acceptable to fBTk_GetPixelsfR);
- for text it is in characters.
- If this option isn't specified, the menubutton's desired width is computed
- from the size of the image or bitmap or text being displayed in it.
- .BE
- .SH INTRODUCTION
- .PP
- The fBmenubuttonfR command creates a new window (given by the
- fIpathNamefR argument) and makes it into a menubutton widget.
- Additional
- options, described above, may be specified on the command line
- or in the option database
- to configure aspects of the menubutton such as its colors, font,
- text, and initial relief. The fBmenubuttonfR command returns its
- fIpathNamefR argument. At the time this command is invoked,
- there must not exist a window named fIpathNamefR, but
- fIpathNamefR's parent must exist.
- .PP
- A menubutton is a widget that displays a textual string, bitmap, or image
- and is associated with a menu widget.
- If text is displayed, it must all be in a single font, but it
- can occupy multiple lines on the screen (if it contains newlines
- or if wrapping occurs because of the fBwrapLengthfR option) and
- one of the characters may optionally be underlined using the
- fBunderlinefR option. In normal usage, pressing
- mouse button 1 over the menubutton causes the associated menu to
- be posted just underneath the menubutton. If the mouse is moved over
- the menu before releasing the mouse button, the button release
- causes the underlying menu entry to be invoked. When the button
- is released, the menu is unposted.
- .PP
- Menubuttons are typically organized into groups called menu bars
- that allow scanning:
- if the mouse button is pressed over one menubutton (causing it
- to post its menu) and the mouse is moved over another menubutton
- in the same menu bar without releasing the mouse button, then the
- menu of the first menubutton is unposted and the menu of the
- new menubutton is posted instead.
- .PP
- There are several interactions between menubuttons and menus; see
- the fBmenufR manual entry for information on various menu configurations,
- such as pulldown menus and option menus.
- .SH "WIDGET COMMAND"
- .PP
- The fBmenubuttonfR command creates a new Tcl command whose
- name is fIpathNamefR. This
- command may be used to invoke various
- operations on the widget. It has the following general form:
- .CS
- fIpathName option fR?fIarg arg ...fR?
- .CE
- fIOptionfR and the fIargfRs
- determine the exact behavior of the command. The following
- commands are possible for menubutton widgets:
- .TP
- fIpathName fBcgetfR fIoptionfR
- Returns the current value of the configuration option given
- by fIoptionfR.
- fIOptionfR may have any of the values accepted by the fBmenubuttonfR
- command.
- .TP
- fIpathName fBconfigurefR ?fIoptionfR? ?fIvalue option value ...fR?
- Query or modify the configuration options of the widget.
- If no fIoptionfR is specified, returns a list describing all of
- the available options for fIpathNamefR (see fBTk_ConfigureInfofR for
- information on the format of this list). If fIoptionfR is specified
- with no fIvaluefR, then the command returns a list describing the
- one named option (this list will be identical to the corresponding
- sublist of the value returned if no fIoptionfR is specified). If
- one or more fIoption-valuefR pairs are specified, then the command
- modifies the given widget option(s) to have the given value(s); in
- this case the command returns an empty string.
- fIOptionfR may have any of the values accepted by the fBmenubuttonfR
- command.
- .SH "DEFAULT BINDINGS"
- .PP
- Tk automatically creates class bindings for menubuttons that give them
- the following default behavior:
- .IP [1]
- A menubutton activates whenever the mouse passes over it and deactivates
- whenever the mouse leaves it.
- .IP [2]
- Pressing mouse button 1 over a menubutton posts the menubutton:
- its relief changes to raised and its associated menu is posted
- under the menubutton. If the mouse is dragged down into the menu
- with the button still down, and if the mouse button is then
- released over an entry in the menu, the menubutton is unposted
- and the menu entry is invoked.
- .IP [3]
- If button 1 is pressed over a menubutton and then released over that
- menubutton, the menubutton stays posted: you can still move the mouse
- over the menu and click button 1 on an entry to invoke it.
- Once a menu entry has been invoked, the menubutton unposts itself.
- .IP [4]
- If button 1 is pressed over a menubutton and then dragged over some
- other menubutton, the original menubutton unposts itself and the
- new menubutton posts.
- .IP [5]
- If button 1 is pressed over a menubutton and released outside
- any menubutton or menu, the menubutton unposts without invoking
- any menu entry.
- .IP [6]
- When a menubutton is posted, its associated menu claims the input
- focus to allow keyboard traversal of the menu and its submenus.
- See the fBmenufR manual entry for details on these bindings.
- .IP [7]
- If the fBunderlinefR option has been specified for a menubutton
- then keyboard traversal may be used to post the menubutton:
- Alt+fIxfR, where fIxfR is the underlined character (or its
- lower-case or upper-case equivalent), may be typed in any window
- under the menubutton's toplevel to post the menubutton.
- .IP [8]
- The F10 key may be typed in any window to post the first menubutton
- under its toplevel window that isn't disabled.
- .IP [9]
- If a menubutton has the input focus, the space and return keys
- post the menubutton.
- .PP
- If the menubutton's state is fBdisabledfR then none of the above
- actions occur: the menubutton is completely non-responsive.
- .PP
- The behavior of menubuttons can be changed by defining new bindings for
- individual widgets or by redefining the class bindings.
- .SH KEYWORDS
- menubutton, widget