scrollbar.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:15k
- '"
- '" Copyright (c) 1990-1994 The Regents of the University of California.
- '" Copyright (c) 1994-1996 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: scrollbar.n,v 1.3.8.1 2004/10/28 12:25:22 dkf Exp $
- '"
- .so man.macros
- .TH scrollbar n 4.1 Tk "Tk Built-In Commands"
- .BS
- '" Note: do not modify the .SH NAME line immediately below!
- .SH NAME
- scrollbar - Create and manipulate scrollbar widgets
- .SH SYNOPSIS
- fBscrollbarfR fIpathName fR?fIoptionsfR?
- .SO
- -activebackground -highlightcolor -repeatdelay
- -background -highlightthickness -repeatinterval
- -borderwidth -jump -takefocus
- -cursor -orient -troughcolor
- -highlightbackground -relief
- .SE
- .SH "WIDGET-SPECIFIC OPTIONS"
- .OP -activerelief activeRelief ActiveRelief
- Specifies the relief to use when displaying the element that is
- active, if any.
- Elements other than the active element are always displayed with
- a raised relief.
- .OP -command command Command
- Specifies the prefix of a Tcl command to invoke to change the view
- in the widget associated with the scrollbar. When a user requests
- a view change by manipulating the scrollbar, a Tcl command is
- invoked. The actual command consists of this option followed by
- additional information as described later. This option almost always has
- a value such as fB.t xviewfR or fB.t yviewfR, consisting of the
- name of a widget and either fBxviewfR (if the scrollbar is for
- horizontal scrolling) or fByviewfR (for vertical scrolling).
- All scrollable widgets have fBxviewfR and fByviewfR commands
- that take exactly the additional arguments appended by the scrollbar
- as described in SCROLLING COMMANDS below.
- .OP -elementborderwidth elementBorderWidth BorderWidth
- Specifies the width of borders drawn around the internal elements
- of the scrollbar (the two arrows and the slider). The value may
- have any of the forms acceptable to fBTk_GetPixelsfR.
- If this value is less than zero, the value of the fBborderWidthfR
- option is used in its place.
- .OP -width width Width
- Specifies the desired narrow dimension of the scrollbar window,
- not including 3-D border, if any. For vertical
- scrollbars this will be the width and for horizontal scrollbars
- this will be the height.
- The value may have any of the forms acceptable to fBTk_GetPixelsfR.
- .BE
- .SH DESCRIPTION
- .PP
- The fBscrollbarfR command creates a new window (given by the
- fIpathNamefR argument) and makes it into a scrollbar widget.
- Additional options, described above, may be specified on the command
- line or in the option database to configure aspects of the scrollbar
- such as its colors, orientation, and relief.
- The fBscrollbarfR 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 scrollbar is a widget that displays two arrows, one at each end of
- the scrollbar, and a fIsliderfR in the middle portion of the
- scrollbar.
- It provides information about what is visible in an fIassociated windowfR
- that displays a document of some sort (such as a file being edited or
- a drawing).
- The position and size of the slider indicate which portion of the
- document is visible in the associated window. For example, if the
- slider in a vertical scrollbar covers the top third of the area
- between the two arrows, it means that the associated window displays
- the top third of its document.
- .PP
- Scrollbars can be used to adjust the view in the associated window
- by clicking or dragging with the mouse. See the fBBINDINGSfR section
- below for details.
- .SH "ELEMENTS"
- .PP
- A scrollbar displays five elements, which are referred to in the
- widget commands for the scrollbar:
- .TP 10
- fBarrow1fR
- The top or left arrow in the scrollbar.
- .TP 10
- fBtrough1fR
- The region between the slider and fBarrow1fR.
- .TP 10
- fBsliderfR
- The rectangle that indicates what is visible in the associated widget.
- .TP 10
- fBtrough2fR
- The region between the slider and fBarrow2fR.
- .TP 10
- fBarrow2fR
- The bottom or right arrow in the scrollbar.
- .SH "WIDGET COMMAND"
- .PP
- The fBscrollbarfR 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 scrollbar widgets:
- .TP
- fIpathName fBactivate fR?fIelementfR?
- Marks the element indicated by fIelementfR as active, which
- causes it to be displayed as specified by the fBactiveBackgroundfR
- and fBactiveRelieffR options.
- The only element values understood by this command are fBarrow1fR,
- fBsliderfR, or fBarrow2fR.
- If any other value is specified then no element of the scrollbar
- will be active.
- If fIelementfR is not specified, the command returns
- the name of the element that is currently active, or an empty string
- if no element is active.
- .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 fBscrollbarfR
- 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 fBscrollbarfR
- command.
- .TP
- fIpathName fBdelta fIdeltaX deltaYfR
- Returns a real number indicating the fractional change in
- the scrollbar setting that corresponds to a given change
- in slider position. For example, if the scrollbar is horizontal,
- the result indicates how much the scrollbar setting must change
- to move the slider fIdeltaXfR pixels to the right (fIdeltaYfR is
- ignored in this case).
- If the scrollbar is vertical, the result indicates how much the
- scrollbar setting must change to move the slider fIdeltaYfR pixels
- down. The arguments and the result may be zero or negative.
- .TP
- fIpathName fBfraction fIx yfR
- Returns a real number between 0 and 1 indicating where the point
- given by fIxfR and fIyfR lies in the trough area of the scrollbar.
- The value 0 corresponds to the top or left of the trough, the
- value 1 corresponds to the bottom or right, 0.5 corresponds to
- the middle, and so on.
- fIXfR and fIyfR must be pixel coordinates relative to the scrollbar
- widget.
- If fIxfR and fIyfR refer to a point outside the trough, the closest
- point in the trough is used.
- .TP
- fIpathName fBgetfR
- Returns the scrollbar settings in the form of a list whose
- elements are the arguments to the most recent fBsetfR widget command.
- .TP
- fIpathName fBidentifyfR fIx yfR
- Returns the name of the element under the point given by fIxfR and
- fIyfR (such as fBarrow1fR), or an empty string if the point does
- not lie in any element of the scrollbar.
- fIXfR and fIyfR must be pixel coordinates relative to the scrollbar
- widget.
- .TP
- fIpathName fBsetfR fIfirst lastfR
- This command is invoked by the scrollbar's associated widget to
- tell the scrollbar about the current view in the widget.
- The command takes two arguments, each of which is a real fraction
- between 0 and 1.
- The fractions describe the range of the document that is visible in
- the associated widget.
- For example, if fIfirstfR is 0.2 and fIlastfR is 0.4, it means
- that the first part of the document visible in the window is 20%
- of the way through the document, and the last visible part is 40%
- of the way through.
- .SH "SCROLLING COMMANDS"
- .PP
- When the user interacts with the scrollbar, for example by dragging
- the slider, the scrollbar notifies the associated widget that it
- must change its view.
- The scrollbar makes the notification by evaluating a Tcl command
- generated from the scrollbar's fB-commandfR option.
- The command may take any of the following forms.
- In each case, fIprefixfR is the contents of the
- fB-commandfR option, which usually has a form like fB.t yviewfR
- .TP
- fIprefix fBmoveto fIfractionfR
- fIFractionfR is a real number between 0 and 1.
- The widget should adjust its view so that the point given
- by fIfractionfR appears at the beginning of the widget.
- If fIfractionfR is 0 it refers to the beginning of the
- document. 1.0 refers to the end of the document, 0.333
- refers to a point one-third of the way through the document,
- and so on.
- .TP
- fIprefix fBscroll fInumber fBunitsfR
- The widget should adjust its view by fInumberfR units.
- The units are defined in whatever way makes sense for the widget,
- such as characters or lines in a text widget.
- fINumberfR is either 1, which means one unit should scroll off
- the top or left of the window, or -1, which means that one unit
- should scroll off the bottom or right of the window.
- .TP
- fIprefix fBscroll fInumber fBpagesfR
- The widget should adjust its view by fInumberfR pages.
- It is up to the widget to define the meaning of a page; typically
- it is slightly less than what fits in the window, so that there
- is a slight overlap between the old and new views.
- fINumberfR is either 1, which means the next page should
- become visible, or -1, which means that the previous page should
- become visible.
- .SH "OLD COMMAND SYNTAX"
- .PP
- In versions of Tk before 4.0, the fBsetfR and fBgetfR widget
- commands used a different form.
- This form is still supported for backward compatibility, but it
- is deprecated.
- In the old command syntax, the fBsetfR widget command has the
- following form:
- .TP
- fIpathName fBsetfR fItotalUnits windowUnits firstUnit lastUnitfR
- In this form the arguments are all integers.
- fITotalUnitsfR gives the total size of the object being displayed in the
- associated widget. The meaning of one unit depends on the associated
- widget; for example, in a text editor widget units might
- correspond to lines of
- text. fIWindowUnitsfR indicates the total number of units that
- can fit in the associated window at one time. fIFirstUnitfR
- and fIlastUnitfR give the indices of the first and last units
- currently visible in the associated window (zero corresponds to the
- first unit of the object).
- .LP
- Under the old syntax the fBgetfR widget command returns a list
- of four integers, consisting of the fItotalUnitsfR, fIwindowUnitsfR,
- fIfirstUnitfR, and fIlastUnitfR values from the last fBsetfR
- widget command.
- .PP
- The commands generated by scrollbars also have a different form
- when the old syntax is being used:
- .TP
- fIprefixfR fIunitfR
- fIUnitfR is an integer that indicates what should appear at
- the top or left of the associated widget's window.
- It has the same meaning as the fIfirstUnitfR and fIlastUnitfR
- arguments to the fBsetfR widget command.
- .LP
- The most recent fBsetfR widget command determines whether or not
- to use the old syntax.
- If it is given two real arguments then the new syntax will be
- used in the future, and if it is given four integer arguments then
- the old syntax will be used.
- .SH BINDINGS
- Tk automatically creates class bindings for scrollbars that give them
- the following default behavior.
- If the behavior is different for vertical and horizontal scrollbars,
- the horizontal behavior is described in parentheses.
- .IP [1]
- Pressing button 1 over fBarrow1fR causes the view in the
- associated widget to shift up (left) by one unit so that the
- document appears to move down (right) one unit.
- If the button is held down, the action auto-repeats.
- .IP [2]
- Pressing button 1 over fBtrough1fR causes the view in the
- associated widget to shift up (left) by one screenful so that the
- document appears to move down (right) one screenful.
- If the button is held down, the action auto-repeats.
- .IP [3]
- Pressing button 1 over the slider and dragging causes the view
- to drag with the slider.
- If the fBjumpfR option is true, then the view doesn't drag along
- with the slider; it changes only when the mouse button is released.
- .IP [4]
- Pressing button 1 over fBtrough2fR causes the view in the
- associated widget to shift down (right) by one screenful so that the
- document appears to move up (left) one screenful.
- If the button is held down, the action auto-repeats.
- .IP [5]
- Pressing button 1 over fBarrow2fR causes the view in the
- associated widget to shift down (right) by one unit so that the
- document appears to move up (left) one unit.
- If the button is held down, the action auto-repeats.
- .IP [6]
- If button 2 is pressed over the trough or the slider, it sets
- the view to correspond to the mouse position; dragging the
- mouse with button 2 down causes the view to drag with the mouse.
- If button 2 is pressed over one of the arrows, it causes the
- same behavior as pressing button 1.
- .IP [7]
- If button 1 is pressed with the Control key down, then if the
- mouse is over fBarrow1fR or fBtrough1fR the view changes
- to the very top (left) of the document; if the mouse is over
- fBarrow2fR or fBtrough2fR the view changes
- to the very bottom (right) of the document; if the mouse is
- anywhere else then the button press has no effect.
- .IP [8]
- In vertical scrollbars the Up and Down keys have the same behavior
- as mouse clicks over fBarrow1fR and fBarrow2fR, respectively.
- In horizontal scrollbars these keys have no effect.
- .IP [9]
- In vertical scrollbars Control-Up and Control-Down have the same
- behavior as mouse clicks over fBtrough1fR and fBtrough2fR, respectively.
- In horizontal scrollbars these keys have no effect.
- .IP [10]
- In horizontal scrollbars the Up and Down keys have the same behavior
- as mouse clicks over fBarrow1fR and fBarrow2fR, respectively.
- In vertical scrollbars these keys have no effect.
- .IP [11]
- In horizontal scrollbars Control-Up and Control-Down have the same
- behavior as mouse clicks over fBtrough1fR and fBtrough2fR, respectively.
- In vertical scrollbars these keys have no effect.
- .IP [12]
- The Prior and Next keys have the same behavior
- as mouse clicks over fBtrough1fR and fBtrough2fR, respectively.
- .IP [13]
- The Home key adjusts the view to the top (left edge) of the document.
- .IP [14]
- The End key adjusts the view to the bottom (right edge) of the document.
- .SH EXAMPLE
- Create a window with a scrollable fBtextfR widget:
- .CS
- toplevel .tl
- text .tl.t -yscrollcommand {.tl.s set}
- fBscrollbarfR .tl.s -command {.tl.t yview}
- grid .tl.t .tl.s -sticky nsew
- grid columnconfigure .tl 0 -weight 1
- grid rowconfigure .tl 0 -weight 1
- .CE
- .SH KEYWORDS
- scrollbar, widget