next up previous contents index
Next: Window-Manager-Befehle Up: Imageviewer Previous: Scrollbars

Bindings

  Um auf Benutzeraktionen eingehen zu können, müßen bestimmte Ereignisse ausgewertet werden, wie z.B. das Drücken der Maustaste, Betätigen der Entertaste, Bewegen des Cursors ... . An diese Ereignisse kann ein Tcl-Skript gebunden werden, das bei Eintreten des Events ausgeführt wird. Dazu dient der Befehl

bind windowSpec sequence [+]script

Hier wird das Skript script an das Event   sequence im Fenster windowSpec gebunden. Existiert bereits ein Binding für sequence in windowSpec so wird dieses überschrieben, es sei denn dem Skript wird ein + vorangestellt. In diesem Fall wird das Skript zu der Aktionsliste hinzugefügt und zusätzlich zu den bereits definierten Funktionen ausgeführt. Gibt man als Skript eine leere Anweisungsliste an, so werden alle Bindings für sequence in windowSpec gelöscht. Um jederzeit die volle Funktionalität eines Widgets zu gewährleisten, besitzt es sog. Default-Bindings welche nicht gelöscht werden können.  

Dabei handelt es sich um folgende Parameter :

Für eine komplette Liste der von Tk unterstützten Events sei auf das Referenzhandbuch verwiesen.

Folgendes Programm benutzt eine Listbox kombiniert mit einer Scrollbar um alle Farben welche in der Datei /usr/lib/X11/rgb.txt definiert sind auszugeben.

 
Figure: Beispiel für eine Scrollbar

Die Dateioperationen welche hier benutzt werden, werden anschliessend in Abschnitt 4.4 erklärt.

   listbox .farben -relief sunken -yscrollcommand ".scroll set"
   scrollbar .scroll -command ".farben yview"
	
   pack .farben .scroll -side left -fill y

   set Datei [ open /usr/lib/X11/rgb.txt ]

   while { [ gets $Datei Zeile ] >= 0 } {
      .farben insert end [ lrange $Zeile 3 end ]
   }

   close $Datei
   bind .farben <Double-Button-1> { .farben configure -bg [ selection get ] }
   



Sascha Scherer
Fri Dec 6 09:58:01 MET 1996