268 lines
14 KiB
HTML
268 lines
14 KiB
HTML
<HTML><HEAD><TITLE>Tk Built-In Commands - menubutton manual page</TITLE></HEAD><BODY>
|
|
<DL>
|
|
<DD><A HREF=menubutton.htm#M2 NAME=L775>NAME</A>
|
|
<DL><DD>menubutton - Create and manipulate menubutton widgets</DL>
|
|
<DD><A HREF=menubutton.htm#M3 NAME=L776>SYNOPSIS</A>
|
|
<DL>
|
|
<DD><B>menubutton</B> <I>pathName </I>?<I>options</I>?
|
|
</DL>
|
|
<DD><A HREF=menubutton.htm#M4 NAME=L777>STANDARD OPTIONS</A>
|
|
<DL>
|
|
<DD><A HREF=options.htm#M-activebackground>-activebackground, activeBackground, Foreground</A>
|
|
<DD><A HREF=options.htm#M-activeforeground>-activeforeground, activeForeground, Background</A>
|
|
<DD><A HREF=options.htm#M-anchor>-anchor, anchor, Anchor</A>
|
|
<DD><A HREF=options.htm#M-background>-background or -bg, background, Background</A>
|
|
<DD><A HREF=options.htm#M-bitmap>-bitmap, bitmap, Bitmap</A>
|
|
<DD><A HREF=options.htm#M-borderwidth>-borderwidth or -bd, borderWidth, BorderWidth</A>
|
|
<DD><A HREF=options.htm#M-cursor>-cursor, cursor, Cursor</A>
|
|
<DD><A HREF=options.htm#M-disabledforeground>-disabledforeground, disabledForeground, DisabledForeground</A>
|
|
<DD><A HREF=options.htm#M-font>-font, font, Font</A>
|
|
<DD><A HREF=options.htm#M-foreground>-foreground or -fg, foreground, Foreground</A>
|
|
<DD><A HREF=options.htm#M-highlightbackground>-highlightbackground, highlightBackground, HighlightBackground</A>
|
|
<DD><A HREF=options.htm#M-highlightcolor>-highlightcolor, highlightColor, HighlightColor</A>
|
|
<DD><A HREF=options.htm#M-highlightthickness>-highlightthickness, highlightThickness, HighlightThickness</A>
|
|
<DD><A HREF=options.htm#M-image>-image, image, Image</A>
|
|
<DD><A HREF=options.htm#M-justify>-justify, justify, Justify</A>
|
|
<DD><A HREF=options.htm#M-padx>-padx, padX, Pad</A>
|
|
<DD><A HREF=options.htm#M-pady>-pady, padY, Pad</A>
|
|
<DD><A HREF=options.htm#M-relief>-relief, relief, Relief</A>
|
|
<DD><A HREF=options.htm#M-takefocus>-takefocus, takeFocus, TakeFocus</A>
|
|
<DD><A HREF=options.htm#M-text>-text, text, Text</A>
|
|
<DD><A HREF=options.htm#M-textvariable>-textvariable, textVariable, Variable</A>
|
|
<DD><A HREF=options.htm#M-underline>-underline, underline, Underline</A>
|
|
<DD><A HREF=options.htm#M-wraplength>-wraplength, wrapLength, WrapLength</A>
|
|
</DL>
|
|
<DD><A HREF=menubutton.htm#M5 NAME=L778>WIDGET-SPECIFIC OPTIONS</A>
|
|
<DL>
|
|
<DD><A HREF=menubutton.htm#M6 NAME=L779>-direction, direction, Height</A>
|
|
<DD><A HREF=menubutton.htm#M7 NAME=L780>-height, height, Height</A>
|
|
<DD><A HREF=menubutton.htm#M8 NAME=L781>-indicatoron, indicatorOn, IndicatorOn</A>
|
|
<DD><A HREF=menubutton.htm#M9 NAME=L782>-menu, menu, MenuName</A>
|
|
<DD><A HREF=menubutton.htm#M10 NAME=L783>-state, state, State</A>
|
|
<DD><A HREF=menubutton.htm#M11 NAME=L784>-width, width, Width</A>
|
|
</DL>
|
|
<DD><A HREF=menubutton.htm#M12 NAME=L785>INTRODUCTION</A>
|
|
<DD><A HREF=menubutton.htm#M13 NAME=L786>WIDGET COMMAND</A>
|
|
<DL>
|
|
<DD><A HREF=menubutton.htm#M14 NAME=L787><I>pathName </I><B>cget</B> <I>option</I></A>
|
|
<DD><A HREF=menubutton.htm#M15 NAME=L788><I>pathName </I><B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?</A>
|
|
</DL>
|
|
<DD><A HREF=menubutton.htm#M16 NAME=L789>DEFAULT BINDINGS</A>
|
|
<DL>
|
|
</DL>
|
|
<DD><A HREF=menubutton.htm#M17 NAME=L790>KEYWORDS</A>
|
|
</DL><HR>
|
|
<H3><A NAME=M2>NAME</A></H3>
|
|
menubutton - Create and manipulate menubutton widgets
|
|
<H3><A NAME=M3>SYNOPSIS</A></H3>
|
|
<B>menubutton</B> <I>pathName </I>?<I>options</I>?<BR>
|
|
<H3><A NAME=M4>STANDARD OPTIONS</A></H3>
|
|
<DL>
|
|
<DT><B><A HREF=options.htm#M-activebackground>-activebackground, activeBackground, Foreground</A></B>
|
|
<DT><B><A HREF=options.htm#M-activeforeground>-activeforeground, activeForeground, Background</A></B>
|
|
<DT><B><A HREF=options.htm#M-anchor>-anchor, anchor, Anchor</A></B>
|
|
<DT><B><A HREF=options.htm#M-background>-background or -bg, background, Background</A></B>
|
|
<DT><B><A HREF=options.htm#M-bitmap>-bitmap, bitmap, Bitmap</A></B>
|
|
<DT><B><A HREF=options.htm#M-borderwidth>-borderwidth or -bd, borderWidth, BorderWidth</A></B>
|
|
<DT><B><A HREF=options.htm#M-cursor>-cursor, cursor, Cursor</A></B>
|
|
<DT><B><A HREF=options.htm#M-disabledforeground>-disabledforeground, disabledForeground, DisabledForeground</A></B>
|
|
<DT><B><A HREF=options.htm#M-font>-font, font, Font</A></B>
|
|
<DT><B><A HREF=options.htm#M-foreground>-foreground or -fg, foreground, Foreground</A></B>
|
|
<DT><B><A HREF=options.htm#M-highlightbackground>-highlightbackground, highlightBackground, HighlightBackground</A></B>
|
|
<DT><B><A HREF=options.htm#M-highlightcolor>-highlightcolor, highlightColor, HighlightColor</A></B>
|
|
<DT><B><A HREF=options.htm#M-highlightthickness>-highlightthickness, highlightThickness, HighlightThickness</A></B>
|
|
<DT><B><A HREF=options.htm#M-image>-image, image, Image</A></B>
|
|
<DT><B><A HREF=options.htm#M-justify>-justify, justify, Justify</A></B>
|
|
<DT><B><A HREF=options.htm#M-padx>-padx, padX, Pad</A></B>
|
|
<DT><B><A HREF=options.htm#M-pady>-pady, padY, Pad</A></B>
|
|
<DT><B><A HREF=options.htm#M-relief>-relief, relief, Relief</A></B>
|
|
<DT><B><A HREF=options.htm#M-takefocus>-takefocus, takeFocus, TakeFocus</A></B>
|
|
<DT><B><A HREF=options.htm#M-text>-text, text, Text</A></B>
|
|
<DT><B><A HREF=options.htm#M-textvariable>-textvariable, textVariable, Variable</A></B>
|
|
<DT><B><A HREF=options.htm#M-underline>-underline, underline, Underline</A></B>
|
|
<DT><B><A HREF=options.htm#M-wraplength>-wraplength, wrapLength, WrapLength</A></B>
|
|
</DL>
|
|
<H3><A NAME=M5>WIDGET-SPECIFIC OPTIONS</A></H3>
|
|
<DL>
|
|
<DT>Command-Line Name: <B><A NAME=M6>-direction</A></B>
|
|
<DT>Database Name: <B>direction</B>
|
|
<DT>Database Class: <B>Height</B>
|
|
<DD>Specifies where the menu is going to be popup up. <B>above</B> tries to
|
|
pop the menu above the menubutton. <B>below</B> tries to pop the menu
|
|
below the menubutton. <B>left</B> tries to pop the menu to the left of
|
|
the menubutton. <B>right</B> tries to pop the menu to the right of the
|
|
menu button. <B><A HREF=../TkCmd/flush.htm>flush</A></B> pops the menu directly over the menubutton.
|
|
<P><DT>Command-Line Name: <B><A NAME=M7>-height</A></B>
|
|
<DT>Database Name: <B>height</B>
|
|
<DT>Database Class: <B>Height</B>
|
|
<DD>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 <B><A HREF=../TclLib/GetPixels.htm>Tk_GetPixels</A></B>);
|
|
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.
|
|
<P><DT>Command-Line Name: <B><A NAME=M8>-indicatoron</A></B>
|
|
<DT>Database Name: <B>indicatorOn</B>
|
|
<DT>Database Class: <B>IndicatorOn</B>
|
|
<DD>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.
|
|
<P><DT>Command-Line Name: <B><A NAME=M9>-menu</A></B>
|
|
<DT>Database Name: <B><A HREF=../TclCmd/menu.htm>menu</A></B>
|
|
<DT>Database Class: <B>MenuName</B>
|
|
<DD>Specifies the path name of the menu associated with this menubutton.
|
|
The menu must be a child of the menubutton.
|
|
<P><DT>Command-Line Name: <B><A NAME=M10>-state</A></B>
|
|
<DT>Database Name: <B>state</B>
|
|
<DT>Database Class: <B>State</B>
|
|
<DD>Specifies one of three states for the menubutton: <B>normal</B>, <B>active</B>,
|
|
or <B>disabled</B>. In normal state the menubutton is displayed using the
|
|
<B>foreground</B> and <B>background</B> options. The active state is
|
|
typically used when the pointer is over the menubutton. In active state
|
|
the menubutton is displayed using the <B>activeForeground</B> and
|
|
<B>activeBackground</B> 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 <B>disabledForeground</B> and
|
|
<B>background</B> options determine how the button is displayed.
|
|
<P><DT>Command-Line Name: <B><A NAME=M11>-width</A></B>
|
|
<DT>Database Name: <B>width</B>
|
|
<DT>Database Class: <B>Width</B>
|
|
<DD>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 <B><A HREF=../TclLib/GetPixels.htm>Tk_GetPixels</A></B>);
|
|
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.
|
|
</DL>
|
|
<H3><A NAME=M12>INTRODUCTION</A></H3>
|
|
The <B>menubutton</B> command creates a new window (given by the
|
|
<I>pathName</I> 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 <B>menubutton</B> command returns its
|
|
<I>pathName</I> argument. At the time this command is invoked,
|
|
there must not exist a window named <I>pathName</I>, but
|
|
<I>pathName</I>'s parent must exist.
|
|
<P>
|
|
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 <B>wrapLength</B> option) and
|
|
one of the characters may optionally be underlined using the
|
|
<B>underline</B> 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.
|
|
<P>
|
|
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.
|
|
<P>
|
|
There are several interactions between menubuttons and menus; see
|
|
the <B><A HREF=../TclCmd/menu.htm>menu</A></B> manual entry for information on various menu configurations,
|
|
such as pulldown menus and option menus.
|
|
|
|
<H3><A NAME=M13>WIDGET COMMAND</A></H3>
|
|
The <B>menubutton</B> command creates a new Tcl command whose
|
|
name is <I>pathName</I>. This
|
|
command may be used to invoke various
|
|
operations on the widget. It has the following general form:
|
|
<PRE><I>pathName option </I>?<I>arg arg ...</I>?</PRE>
|
|
<I>Option</I> and the <I>arg</I>s
|
|
determine the exact behavior of the command. The following
|
|
commands are possible for menubutton widgets:
|
|
<P>
|
|
<DL>
|
|
<P><DT><A NAME=M14><I>pathName </I><B>cget</B> <I>option</I></A><DD>
|
|
Returns the current value of the configuration option given
|
|
by <I>option</I>.
|
|
<I>Option</I> may have any of the values accepted by the <B>menubutton</B>
|
|
command.
|
|
<P><DT><A NAME=M15><I>pathName </I><B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?</A><DD>
|
|
Query or modify the configuration options of the widget.
|
|
If no <I>option</I> is specified, returns a list describing all of
|
|
the available options for <I>pathName</I> (see <B><A HREF=../TclLib/ConfigWidg.htm>Tk_ConfigureInfo</A></B> for
|
|
information on the format of this list). If <I>option</I> is specified
|
|
with no <I>value</I>, 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 <I>option</I> is specified). If
|
|
one or more <I>option-value</I> 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.
|
|
<I>Option</I> may have any of the values accepted by the <B>menubutton</B>
|
|
command.
|
|
|
|
<P></DL>
|
|
<H3><A NAME=M16>DEFAULT BINDINGS</A></H3>
|
|
Tk automatically creates class bindings for menubuttons that give them
|
|
the following default behavior:
|
|
<P>
|
|
<DL>
|
|
<P><DT>[1]<DD>
|
|
A menubutton activates whenever the mouse passes over it and deactivates
|
|
whenever the mouse leaves it.
|
|
<P><DT>[2]<DD>
|
|
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.
|
|
<P><DT>[3]<DD>
|
|
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.
|
|
<P><DT>[4]<DD>
|
|
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.
|
|
<P><DT>[5]<DD>
|
|
If button 1 is pressed over a menubutton and released outside
|
|
any menubutton or menu, the menubutton unposts without invoking
|
|
any menu entry.
|
|
<P><DT>[6]<DD>
|
|
When a menubutton is posted, its associated menu claims the input
|
|
focus to allow keyboard traversal of the menu and its submenus.
|
|
See the <B><A HREF=../TclCmd/menu.htm>menu</A></B> manual entry for details on these bindings.
|
|
<P><DT>[7]<DD>
|
|
If the <B>underline</B> option has been specified for a menubutton
|
|
then keyboard traversal may be used to post the menubutton:
|
|
Alt+<I>x</I>, where <I>x</I> 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.
|
|
<P><DT>[8]<DD>
|
|
The F10 key may be typed in any window to post the first menubutton
|
|
under its toplevel window that isn't disabled.
|
|
<P><DT>[9]<DD>
|
|
If a menubutton has the input focus, the space and return keys
|
|
post the menubutton.
|
|
<P></DL>
|
|
<P>
|
|
If the menubutton's state is <B>disabled</B> then none of the above
|
|
actions occur: the menubutton is completely non-responsive.
|
|
<P>
|
|
The behavior of menubuttons can be changed by defining new bindings for
|
|
individual widgets or by redefining the class bindings.
|
|
|
|
<H3><A NAME=M17>KEYWORDS</A></H3>
|
|
<A href=../Keywords/M.htm#menubutton>menubutton</A>, <A href=../Keywords/W.htm#widget>widget</A>
|
|
<HR><PRE>
|
|
<A HREF=../copyright.htm>Copyright</A> © 1990-1994 The Regents of the University of California.
|
|
<A HREF=../copyright.htm>Copyright</A> © 1994-1997 Sun Microsystems, Inc.
|
|
<A HREF=../copyright.htm>Copyright</A> © 1995-1997 Roger E. Critchlow Jr.</PRE>
|
|
</BODY></HTML>
|
|
|