''From the [bind] man page:'' Some mice on the Windows platform support a mouse wheel which is used for scrolling documents without using the scrollbars. By rolling the wheel, the system will generate MouseWheel events that the application can use to scroll. Like Key events the event is always routed to the window that currently has focus. When the event is received you can use the %D substitution to get the delta field for the event which is a integer value of motion that the mouse wheel has moved. The smallest value for which the system will report is defined by the OS. On Windows 95 & 98 machines this value is at least 120 before it is reported. However, higher resolution devices may be available in the future. The sign of the value determines which direction your widget should scroll. Positive values should scroll up and negative values should scroll down. Example binding to scroll a canvas (in [a little XML browser]) up or down: bind .t.c {%W yview scroll [expr {-%D/120}] units} Dividing by 120 leads to scrolling one line per wheel click (minimum effective wheel movement) - use a smaller divisor if you want to scroll faster. ([RS]) By "cubing" the number of units, you have the effect that slow turning of the whell moves slowly, while fast turning lets you jump up or down: bind .t.c {%W yview scroll [expr {int(pow(%D/-120,3))}] units} [rmax] AFAIK, works on Windows only. On X you have to bind to the and events. ---- [Tk syntax help] | [Arts and crafts of Tcl-Tk programming]