next up previous contents index
Next: Weitere Tcl-Befehle Up: CDE - Entwicklungsumgebung Previous: Canvas-Widget

Tags

  Tags dienen ähnlich wie die ID's, welche von der create-Methode zurückgeliefert werden, dazu Objekte später wieder zu referenzieren. Im Gegensatz zu den ID's ist es bei Tag's aber möglich, eine Gruppe von Objekten unter einem Tag zusammenzufassen. Wird nun ein Event für diese Gruppe generiert so kann im Event-Handler (Tcl-Script) durch das Sprachelement current für die ObjectID, das Objekt referenziert werden, welches das Event generiert hat. Dies spart Code, da für gleichartige Objekte ein gemeinsamer Eventhandler genutzt werden kann.

So könnte obiges Beispiel mit Hilfe von Tags folgendermaßen vereinfacht werden:

   #!/usr/bin/wish -f

   canvas .c -width 7c -height 6c

   pack .c

   set rec [ .c create rectangle 1c 1c 3c 3c -fill darkgreen -tags graphic ]
   set pol [ .c create polygon 3.5c 1c 7c 5c 6c 2c -fill darkgreen -tags graphic ]
   set cir [ .c create oval 5c 5c 1c 3.5c -fill darkgreen -tags graphic ]
 
   .c bind graphic <Any-Enter> { .c itemconfigure current -fill red }
   .c bind graphic <Any-Leave> { .c itemconfigure current -fill darkgreen }



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